mirror of
https://github.com/opnsense/src.git
synced 2026-02-27 11:50:47 -05:00
After r355784 the td_oncpu field is no longer synchronized by the thread lock, so the stack capture interrupt cannot be delievered precisely. Fix this using a loop which drops the thread lock and restarts if the wrong thread was sampled from the stack capture interrupt handler. Change the implementation to use a regular interrupt instead of an NMI. Now that we drop the thread lock, there is no advantage to the latter. Simplify the KPIs. Remove stack_save_td_running() and add a return value to stack_save_td(). On platforms that do not support stack capture of running threads, stack_save_td() returns EOPNOTSUPP. If the target thread is running in user mode, stack_save_td() returns EBUSY. Reviewed by: kib Reported by: mjg, pho Tested by: pho Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D23355 |
||
|---|---|---|
| .. | ||
| atheros | ||
| beri | ||
| broadcom | ||
| cavium | ||
| conf | ||
| include | ||
| ingenic | ||
| malta | ||
| mediatek | ||
| mips | ||
| nlm | ||