mirror of
https://github.com/opnsense/src.git
synced 2026-03-21 10:20:09 -04:00
- Use spinlock_enter()/spinlock_exit() to prevent a thread holding a debug lock from being preempted to prevent other threads waiting on that lock from starvation. - Handle the possibility of CPU migration in between the fetch of curcpu and the call to spinlock_enter() by saving curcpu in a local variable. - Use memory barriers to prevent reordering of loads and stores of the data protected by the lock outside of the critical section - Eliminate false sharing of the locks by moving them into the structures that they protect and aligning them to a cacheline boundary. - Record the owning thread in the lock to make debugging future problems easier. Reviewed by: rpaulo (initial version) MFC after: 2 weeks |
||
|---|---|---|
| .. | ||
| amd64 | ||
| i386 | ||
| mips | ||
| powerpc | ||
| dtrace_anon.c | ||
| dtrace_cddl.h | ||
| dtrace_clone.c | ||
| dtrace_debug.c | ||
| dtrace_hacks.c | ||
| dtrace_ioctl.c | ||
| dtrace_load.c | ||
| dtrace_modevent.c | ||
| dtrace_sysctl.c | ||
| dtrace_test.c | ||
| dtrace_unload.c | ||
| dtrace_vtime.c | ||