freebsd-skq/lib/libpmc
Mitchell Horne dfdc57e8aa libpmc: fall-back to kernel tables if pmu-events fails
On x86, the pmu_events table is the source of truth for finding
supported events. However, events not found there may still be present
in the kernel's static event tables. For example, the pmc.soft(3) events
will never be available from pmu-events.

Update pmc_allocate() to search the legacy event tables if
pmc_pmu_pmcallocate() fails to return a result. This allows both event
sources to be consulted before giving up, thus restoring pmc.soft(3) and
pmc.tsc(3) on x86.

Reviewed by:	emaste
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D30216
2021-05-13 16:01:24 -03:00
..
pmu-events Fix additional memory leak in process_mapfile 2020-09-17 18:24:51 +00:00
libpmc_json.cc Fix warnings with lib/libpmc 2019-04-14 00:06:49 +00:00
libpmc_pmu_util.c libpmc: Use known pmc_cpuid buffer size 2020-07-28 02:56:26 +00:00
libpmc.c libpmc: fall-back to kernel tables if pmu-events fails 2021-05-13 16:01:24 -03:00
libpmcinternal.h lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
Makefile libpmc: fix linking with C programs 2021-02-15 15:54:18 -07:00
Makefile.depend Update Makefile.depend files 2019-12-11 17:37:53 +00:00
Makefile.inc Fix warnings with lib/libpmc 2019-04-14 00:06:49 +00:00
pmc_allocate.3 pmc_allocate(3): document the count argument 2021-04-21 17:35:03 -03:00
pmc_attach.3 Switch the license boilerplates to our standard one. 2012-02-17 11:09:51 +00:00
pmc_capabilities.3 mdoc: sort SEE ALSO. 2015-01-04 12:38:00 +00:00
pmc_configure_logfile.3 Switch the license boilerplates to our standard one. 2012-02-17 11:09:51 +00:00
pmc_disable.3 Switch the license boilerplates to our standard one. 2012-02-17 11:09:51 +00:00
pmc_event_names_of_class.3 Don't end up manpage titles with a full stop. 2017-05-24 21:02:53 +00:00
pmc_get_driver_stats.3 Switch the license boilerplates to our standard one. 2012-02-17 11:09:51 +00:00
pmc_get_msr.3 Switch the license boilerplates to our standard one. 2012-02-17 11:09:51 +00:00
pmc_init.3 Switch the license boilerplates to our standard one. 2012-02-17 11:09:51 +00:00
pmc_name_of_capability.3 Switch the license boilerplates to our standard one. 2012-02-17 11:09:51 +00:00
pmc_read.3 pmc_read(3): fix manlint error 2017-04-07 06:06:55 +00:00
pmc_set.3 Switch the license boilerplates to our standard one. 2012-02-17 11:09:51 +00:00
pmc_start.3 Switch the license boilerplates to our standard one. 2012-02-17 11:09:51 +00:00
pmc.3 PMC: remove now orphaned PMC for INTEL XScale processors. 2020-12-25 15:21:53 +01:00
pmc.atom.3 use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
pmc.atomsilvermont.3 pmc.atomsilvermont(3): fix manlint warnings 2017-04-07 06:00:19 +00:00
pmc.core2.3 use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
pmc.core.3 use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
pmc.corei7.3 mdoc: sort SEE ALSO. 2015-01-04 12:38:00 +00:00
pmc.corei7uc.3 mdoc: sort SEE ALSO. 2015-01-04 12:38:00 +00:00
pmc.h hwpmc: add summary command and further metadata extensions 2018-06-06 02:48:09 +00:00
pmc.haswell.3 Fix typo. 2017-04-03 20:35:17 +00:00
pmc.haswelluc.3 use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
pmc.haswellxeon.3 Minor mdoc fixes. 2015-04-20 21:19:26 +00:00
pmc.iaf.3 use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
pmc.ivybridge.3 Fix Ivy Bridge+ MEM_UOPS_RETIRED counters 2015-03-10 01:24:08 +00:00
pmc.ivybridgexeon.3 Fix Ivy Bridge+ MEM_UOPS_RETIRED counters 2015-03-10 01:24:08 +00:00
pmc.k7.3
pmc.k8.3 mdoc: remove superfluous paragraph macros. 2014-06-23 18:40:21 +00:00
pmc.mips24k.3 use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
pmc.octeon.3 use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
pmc.p4.3 mdoc: remove superfluous paragraph macros. 2014-06-23 18:40:21 +00:00
pmc.p5.3 use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
pmc.p6.3 use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
pmc.sandybridge.3 Fix a few mandoc issues 2020-10-09 19:12:44 +00:00
pmc.sandybridgeuc.3 Fix a few mandoc issues 2020-10-09 19:12:44 +00:00
pmc.sandybridgexeon.3 Fix Sandy Bridge+ hwpmc branch counters 2015-03-10 01:23:47 +00:00
pmc.soft.3 mdoc: sort SEE ALSO. 2015-01-04 12:38:00 +00:00
pmc.tsc.3 use .Mt to mark up email addresses consistently (part3) 2014-06-23 08:23:05 +00:00
pmc.ucf.3 mdoc: sort SEE ALSO. 2015-01-04 12:38:00 +00:00
pmc.westmere.3 mdoc: sort SEE ALSO. 2015-01-04 12:38:00 +00:00
pmc.westmereuc.3 mdoc: sort SEE ALSO. 2015-01-04 12:38:00 +00:00
pmcformat.h pmc: convert native to jsonl and track TSC value of samples 2018-06-07 02:03:22 +00:00
pmclog.3 pmc(3)/hwpmc(4): update supported Intel processors to rely fully on the 2018-05-26 19:29:19 +00:00
pmclog.c pmc: convert native to jsonl and track TSC value of samples 2018-06-07 02:03:22 +00:00
pmclog.h pmc: convert native to jsonl and track TSC value of samples 2018-06-07 02:03:22 +00:00