opnsense-src/sys/dev/hwpmc
Alexander Motin 326a8d3e08 hwpmc: Skip GLOBAL_CTRL updates on stop_pmc().
After we wipe PMC configuration, including its local enable bit(s),
we don't really care about its global enable bit.  Global enable bits
now may only be cleared by interrupt handler in case of error (sample
buffer overflow).  Being set is actually a reset default for them.

This saves one WRMSR per process-scope PMC per context switch, that
is clearly visible in profiles.

MFC after:	1 month
2022-06-02 18:35:55 -04:00
..
hwpmc_amd.c hwpmc: Fix amd/arm64/armv7/uncore sampling overflow race 2022-01-10 14:30:05 +00:00
hwpmc_amd.h
hwpmc_arm.c pmc_save_user_callchain: eliminate write only td variable 2022-04-04 22:29:33 -06:00
hwpmc_arm64.c hwpmc: Use __diagused for variables only used in KASSERT(). 2022-04-13 16:08:22 -07:00
hwpmc_arm64.h arm64: Fix finding the pmc event ID 2021-04-08 07:52:21 +00:00
hwpmc_arm64_md.c hwpmc_arm64: remove write only variables and the computations they do 2022-04-05 21:42:05 -06:00
hwpmc_armv7.c hwpmc: Use __diagused for variables only used in KASSERT(). 2022-04-13 16:08:22 -07:00
hwpmc_armv7.h
hwpmc_core.c hwpmc: Skip GLOBAL_CTRL updates on stop_pmc(). 2022-06-02 18:35:55 -04:00
hwpmc_core.h hwpmc: Bump Intel's IA32_PERFEVTSELx width to 64 bits. 2022-06-02 13:08:55 -04:00
hwpmc_e500.c hwpmc: consistently validate PMC class in allocation method 2021-08-30 16:12:59 -03:00
hwpmc_intel.c hwpmc: Add basic Intel Alderlake CPUs support. 2022-05-30 23:17:37 -04:00
hwpmc_logging.c Update a sysctl name to nbuffers_pcpu in hwpmc.4 and pmcstat.c 2021-08-29 21:24:50 +02:00
hwpmc_mod.c hwpmc(4): Fix a typo in a sysctl description 2022-01-26 20:18:57 +01:00
hwpmc_mpc7xxx.c ppc hwpmc: Remove unused variables. 2022-04-12 14:58:58 -07:00
hwpmc_power8.c hwpmc: consistently validate PMC class in allocation method 2021-08-30 16:12:59 -03:00
hwpmc_powerpc.c hwpmc: Make powerpc memory allocation alike to x86. 2022-06-01 14:53:04 -04:00
hwpmc_powerpc.h hwpmc: Make powerpc memory allocation alike to x86. 2022-06-01 14:53:04 -04:00
hwpmc_ppc970.c ppc hwpmc: Remove unused variables. 2022-04-12 14:58:58 -07:00
hwpmc_riscv.h
hwpmc_soft.c hwpmc: mostly clean up cc --analyze 2021-07-15 15:15:55 +00:00
hwpmc_soft.h
hwpmc_tsc.c hwpmc: don't validate capabilities in allocation method 2021-08-30 16:12:59 -03:00
hwpmc_tsc.h
hwpmc_uncore.c hwpmc: Skip GLOBAL_CTRL updates on stop_pmc(). 2022-06-02 18:35:55 -04:00
hwpmc_uncore.h hwpmc: Bump Intel's IA32_PERFEVTSELx width to 64 bits. 2022-06-02 13:08:55 -04:00
hwpmc_x86.c Annotate amd64 stack unwinders with __nomemorysanitize 2021-07-23 10:47:13 -04:00
pmc_events.h hwpmc: remove mips event definitions 2022-01-28 16:37:28 -04:00