mirror of
https://github.com/opnsense/src.git
synced 2026-04-13 21:36:47 -04:00
per-primitive macros like MTX_NOPROFILE, SX_NOPROFILE or RW_NOPROFILE) is not really honoured. In particular lock_profile_obtain_lock_failure() and lock_profile_obtain_lock_success() are naked respect this flag. The bug leads to locks marked with no-profiling to be profiled as well. In the case of the clock_lock, used by the timer i8254 this leads to unpredictable behaviour both on amd64 and ia32 (double faults panic, sudden reboots, etc.). The amd64 clock_lock is also not marked as not profilable as it should be. Fix these bugs adding proper checks in the lock profiling code and at clock_lock initialization time. i8254 bug pointed out by: kris Tested by: matteo, Giuseppe Cocomazzi <sbudella at libero dot it> Approved by: jeff (mentor) Approved by: re |
||
|---|---|---|
| .. | ||
| atpic.c | ||
| atpic_vector.S | ||
| clock.c | ||
| elcr.c | ||
| icu.h | ||
| isa.c | ||
| isa.h | ||
| isa_dma.c | ||
| nmi.c | ||