Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/subr_lock.c
Show First 20 Lines • Show All 727 Lines • ▼ Show 20 Lines | |||||
static SYSCTL_NODE(_debug_lock, OID_AUTO, prof, CTLFLAG_RD, NULL, | static SYSCTL_NODE(_debug_lock, OID_AUTO, prof, CTLFLAG_RD, NULL, | ||||
"lock profiling"); | "lock profiling"); | ||||
SYSCTL_INT(_debug_lock_prof, OID_AUTO, skipspin, CTLFLAG_RW, | SYSCTL_INT(_debug_lock_prof, OID_AUTO, skipspin, CTLFLAG_RW, | ||||
&lock_prof_skipspin, 0, "Skip profiling on spinlocks."); | &lock_prof_skipspin, 0, "Skip profiling on spinlocks."); | ||||
SYSCTL_INT(_debug_lock_prof, OID_AUTO, skipcount, CTLFLAG_RW, | SYSCTL_INT(_debug_lock_prof, OID_AUTO, skipcount, CTLFLAG_RW, | ||||
&lock_prof_skipcount, 0, "Sample approximately every N lock acquisitions."); | &lock_prof_skipcount, 0, "Sample approximately every N lock acquisitions."); | ||||
SYSCTL_INT(_debug_lock_prof, OID_AUTO, rejected, CTLFLAG_RD, | SYSCTL_INT(_debug_lock_prof, OID_AUTO, rejected, CTLFLAG_RD, | ||||
&lock_prof_rejected, 0, "Number of rejected profiling records"); | &lock_prof_rejected, 0, "Number of rejected profiling records"); | ||||
SYSCTL_PROC(_debug_lock_prof, OID_AUTO, stats, CTLTYPE_STRING | CTLFLAG_RD, | SYSCTL_PROC(_debug_lock_prof, OID_AUTO, stats, | ||||
NULL, 0, dump_lock_prof_stats, "A", "Lock profiling statistics"); | CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT, | ||||
SYSCTL_PROC(_debug_lock_prof, OID_AUTO, reset, CTLTYPE_INT | CTLFLAG_RW, | NULL, 0, dump_lock_prof_stats, "A", | ||||
NULL, 0, reset_lock_prof_stats, "I", "Reset lock profiling statistics"); | "Lock profiling statistics"); | ||||
SYSCTL_PROC(_debug_lock_prof, OID_AUTO, enable, CTLTYPE_INT | CTLFLAG_RW, | SYSCTL_PROC(_debug_lock_prof, OID_AUTO, reset, | ||||
NULL, 0, enable_lock_prof, "I", "Enable lock profiling"); | CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, | ||||
NULL, 0, reset_lock_prof_stats, "I", | |||||
"Reset lock profiling statistics"); | |||||
SYSCTL_PROC(_debug_lock_prof, OID_AUTO, enable, | |||||
CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, | |||||
NULL, 0, enable_lock_prof, "I", | |||||
"Enable lock profiling"); | |||||
#endif | #endif |