opnsense-src/sys/dev/hwpmc
Alexander Motin 2bd4b5475f 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

(cherry picked from commit 326a8d3e08)
2022-07-04 13:48:10 -04:00
..
hwpmc_amd.c hwpmc: Fix amd/arm64/armv7/uncore sampling overflow race 2022-01-25 00:00:01 +00:00
hwpmc_amd.h hwpmc : fix AMD perf counter MSR access 2019-11-07 19:54:24 +00:00
hwpmc_arm.c hwpmc: remove dangling references to hwpmc_xscale 2018-06-08 20:39:49 +00:00
hwpmc_arm64.c hwpmc: Fix amd/arm64/armv7/uncore sampling overflow race 2022-01-25 00:00:01 +00:00
hwpmc_arm64.h arm64: Fix finding the pmc event ID 2021-07-29 12:00:37 -03:00
hwpmc_arm64_md.c Add Performance Monitoring Counters support for AArch64. 2015-05-19 15:25:47 +00:00
hwpmc_armv7.c hwpmc: Fix amd/arm64/armv7/uncore sampling overflow race 2022-01-25 00:00:01 +00:00
hwpmc_armv7.h o Rework ARMv7 events list using aliases - same way as we have for arm64. 2015-06-10 12:42:30 +00:00
hwpmc_beri.c Add support for BERI statcounters. 2019-09-18 16:13:50 +00:00
hwpmc_beri.h Add support for BERI statcounters. 2019-09-18 16:13:50 +00:00
hwpmc_core.c hwpmc: Skip GLOBAL_CTRL updates on stop_pmc(). 2022-07-04 13:48:10 -04:00
hwpmc_core.h hwpmc: Bump Intel's IA32_PERFEVTSELx width to 64 bits. 2022-07-04 13:48:10 -04:00
hwpmc_e500.c [PowerPC] hwpmc: add support for POWER8/9 PMCs 2020-11-05 16:36:39 +00:00
hwpmc_intel.c hwpmc: Add basic Intel Alderlake CPUs support. 2022-07-04 13:48:09 -04:00
hwpmc_logging.c Update a sysctl name to nbuffers_pcpu in hwpmc.4 and pmcstat.c 2021-09-25 10:34:38 +02:00
hwpmc_mips.c hwpmc: update files missed by r334827 2018-06-08 17:41:49 +00:00
hwpmc_mips24k.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
hwpmc_mips74k.c sys: use our nitems() macro when param.h is available. 2016-04-21 19:40:10 +00:00
hwpmc_mod.c hwpmc(4): Fix a typo in a sysctl description 2022-01-29 09:44:47 +01:00
hwpmc_mpc7xxx.c [PowerPC] hwpmc: add support for POWER8/9 PMCs 2020-11-05 16:36:39 +00:00
hwpmc_octeon.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
hwpmc_power8.c [PowerPC] hwpmc: add support for POWER8/9 PMCs 2020-11-05 16:36:39 +00:00
hwpmc_powerpc.c hwpmc: Make powerpc memory allocation alike to x86. 2022-07-04 13:48:10 -04:00
hwpmc_powerpc.h hwpmc: Make powerpc memory allocation alike to x86. 2022-07-04 13:48:10 -04:00
hwpmc_ppc970.c [PowerPC] hwpmc: add support for POWER8/9 PMCs 2020-11-05 16:36:39 +00:00
hwpmc_riscv.h Welcome the RISC-V 64-bit kernel. 2016-01-29 15:12:31 +00:00
hwpmc_soft.c hwpmc: mostly clean up cc --analyze 2021-07-25 07:00:05 +00:00
hwpmc_soft.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
hwpmc_tsc.c hwpmc: mostly clean up cc --analyze 2021-07-25 07:00:05 +00:00
hwpmc_tsc.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
hwpmc_uncore.c hwpmc: Skip GLOBAL_CTRL updates on stop_pmc(). 2022-07-04 13:48:10 -04:00
hwpmc_uncore.h hwpmc: Bump Intel's IA32_PERFEVTSELx width to 64 bits. 2022-07-04 13:48:10 -04:00
hwpmc_x86.c hwpmc: Disable KASAN in pmc_save_kernel_callchain() 2021-11-01 10:06:47 -04:00
pmc_events.h libpmc: fix the 'cycles' event alias on x86 2021-10-15 12:21:35 -03:00