freebsd-dev/sys/dev/hwpmc
Matt Macy acf50a7f68 hwpmc: limit wait for user callchain collection to 1 tick
The hwpmc pcpu sample buffer is prone to head of line blocking
when waiting for user process to return to user space and
collect a pending callchain. If more than one tick has elapsed
between the time the sample entry was marked for collection and
the time that the hardclock pmc handler runs to copy the records
to a larger temporary buffer, mark the sample entry as not in
use.

This changes reduces the number of samples marked as not valid
when collecting under load from ~99.5% to 5-20%.

Reported by:	mjg@
MFC after:	3 days
2018-11-05 08:11:16 +00:00
..
hwpmc_amd.c Add aditional counter descriptions to AMD 0x17 2018-11-04 06:24:27 +00:00
hwpmc_amd.h Add aditional counter descriptions to AMD 0x17 2018-11-04 06:24:27 +00:00
hwpmc_arm64_md.c
hwpmc_arm64.c hwpmc: fix arm64 INVARIANTS build 2018-06-08 05:48:28 +00:00
hwpmc_arm64.h
hwpmc_arm.c hwpmc: remove dangling references to hwpmc_xscale 2018-06-08 20:39:49 +00:00
hwpmc_armv7.c hwpmc: simplify calling convention for hwpmc interrupt handling 2018-06-08 04:58:03 +00:00
hwpmc_armv7.h
hwpmc_core.c hwpmc: avoid undefined variable on LINT 2018-06-08 05:01:09 +00:00
hwpmc_core.h hwpmc: ABI fixes 2018-06-04 02:05:48 +00:00
hwpmc_e500.c hwpmc: update files missed by r334827 2018-06-08 17:41:49 +00:00
hwpmc_intel.c hwpmc: remove unused pre-table driven bits for intel 2018-05-31 22:41:07 +00:00
hwpmc_logging.c Add malloc_domainset(9) and _domainset variants to other allocator KPIs. 2018-10-30 18:26:34 +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_mips.c hwpmc: update files missed by r334827 2018-06-08 17:41:49 +00:00
hwpmc_mod.c hwpmc: limit wait for user callchain collection to 1 tick 2018-11-05 08:11:16 +00:00
hwpmc_mpc7xxx.c hwpmc: update files missed by r334827 2018-06-08 17:41:49 +00:00
hwpmc_octeon.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
hwpmc_powerpc.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
hwpmc_powerpc.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
hwpmc_ppc970.c hwpmc: update files missed by r334827 2018-06-08 17:41:49 +00:00
hwpmc_riscv.h
hwpmc_soft.c hwpmc: simplify calling convention for hwpmc interrupt handling 2018-06-08 04:58:03 +00:00
hwpmc_soft.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
hwpmc_sparc64.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
hwpmc_tsc.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +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: remove unused pre-table driven bits for intel 2018-05-31 22:41:07 +00:00
hwpmc_uncore.h hwpmc: remove unused pre-table driven bits for intel 2018-05-31 22:41:07 +00:00
hwpmc_x86.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
hwpmc_xscale.h Revert r336773: it removed too much. 2018-07-27 21:25:01 +00:00
pmc_events.h Revert r336773: it removed too much. 2018-07-27 21:25:01 +00:00