opnsense-src/sys/dev/hwpmc
Konstantin Belousov 20b555e146 Do not run pmclog_configure_log() without pmc_sx protection.
The r195005 unlocked pmc_sx before calling into pmclog_configure_log()
to avoid the LOR, but it allows flush or closelog to run in parallel
with the configuration, causing many failure modes.

Revert r195005.  Pre-create the logging process, allowing it to run
after the set up succeeded, otherwise the process terminates itself.

Reported and tested by:	pho
Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D12882
2017-11-01 11:43:39 +00:00
..
hwpmc_amd.c hwpmc(4): Add support for extended AMD events 2017-10-04 23:35:10 +00:00
hwpmc_amd.h hwpmc(4): Actually use a sufficiently wide type 2017-10-11 15:13:40 +00:00
hwpmc_arm.c Fix arm stack frame walking support: 2017-03-14 16:06:57 +00:00
hwpmc_arm64.c Add Performance Monitoring Counters support for AArch64. 2015-05-19 15:25:47 +00:00
hwpmc_arm64.h Add Performance Monitoring Counters support for AArch64. 2015-05-19 15:25:47 +00:00
hwpmc_arm64_md.c Add Performance Monitoring Counters support for AArch64. 2015-05-19 15:25:47 +00:00
hwpmc_armv7.c Fix HWPMC interrupt handling in Counting Mode 2017-06-13 18:51:23 +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_core.c o Support for Kabylake CPU PMCs (fall down to PMC_CPU_INTEL_SKYLAKE). 2017-10-13 15:02:29 +00:00
hwpmc_core.h sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
hwpmc_e500.c Remove unused e500_event_codes_size. 2016-04-20 20:37:58 +00:00
hwpmc_intel.c o Support for Kabylake CPU PMCs (fall down to PMC_CPU_INTEL_SKYLAKE). 2017-10-13 15:02:29 +00:00
hwpmc_logging.c Do not run pmclog_configure_log() without pmc_sx protection. 2017-11-01 11:43:39 +00:00
hwpmc_mips.c Cleanup unnecessary semicolons from the kernel. 2016-04-10 23:07:00 +00:00
hwpmc_mips24k.c sys: use our nitems() macro when param.h is available. 2016-04-21 19:40:10 +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 Do not run pmclog_configure_log() without pmc_sx protection. 2017-11-01 11:43:39 +00:00
hwpmc_mpc7xxx.c Remove slightly used const values that can be replaced with nitems(). 2016-04-21 15:38:28 +00:00
hwpmc_octeon.c sys: use our nitems() macro when param.h is available. 2016-04-21 19:40:10 +00:00
hwpmc_pentium.c
hwpmc_pentium.h
hwpmc_piv.c Fix logic error in the the assert, causing the condition to be always true. 2017-08-08 15:46:29 +00:00
hwpmc_piv.h Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this 2013-11-30 22:17:27 +00:00
hwpmc_powerpc.c e5500 HWPMC is identical to e500mc, so add support check for it. 2016-01-17 00:14:22 +00:00
hwpmc_powerpc.h Implement hwpmc(4) for Freescale e500 core. 2015-04-18 21:39:17 +00:00
hwpmc_ppc970.c Convert hwpmc(4) debug printfs over to KTR. 2015-05-08 19:40:00 +00:00
hwpmc_ppro.c Convert hwpmc(4) debug printfs over to KTR. 2015-05-08 19:40:00 +00:00
hwpmc_ppro.h
hwpmc_riscv.h Welcome the RISC-V 64-bit kernel. 2016-01-29 15:12:31 +00:00
hwpmc_soft.c Convert hwpmc(4) debug printfs over to KTR. 2015-05-08 19:40:00 +00:00
hwpmc_soft.h Add software PMC support. 2012-03-28 20:58:30 +00:00
hwpmc_sparc64.c
hwpmc_tsc.c Convert hwpmc(4) debug printfs over to KTR. 2015-05-08 19:40:00 +00:00
hwpmc_tsc.h
hwpmc_uncore.c Remove slightly used const values that can be replaced with nitems(). 2016-04-21 15:38:28 +00:00
hwpmc_uncore.h Remove some prototypes for undefined functions. 2014-05-15 21:19:13 +00:00
hwpmc_x86.c Update the hwpmc driver to have the new type HASWELL_XEON. Also 2015-01-14 12:46:58 +00:00
hwpmc_xscale.c Remove slightly used const values that can be replaced with nitems(). 2016-04-21 15:38:28 +00:00
hwpmc_xscale.h
pmc_events.h o Support for Kabylake CPU PMCs (fall down to PMC_CPU_INTEL_SKYLAKE). 2017-10-13 15:02:29 +00:00