aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMatt Macy <mmacy@FreeBSD.org>2018-05-28 23:14:38 +0000
committerMatt Macy <mmacy@FreeBSD.org>2018-05-28 23:14:38 +0000
commit552b3e179847f3cd44ce4dcd2c273f6ff1c8d6b0 (patch)
treedd7c320613c05791c929b6ea8df6a0a08b4d1f2e /sys
parent39446ce5b3fa54c4ded4ca339aebfc912a821fd9 (diff)
downloadsrc-552b3e179847f3cd44ce4dcd2c273f6ff1c8d6b0.tar.gz
src-552b3e179847f3cd44ce4dcd2c273f6ff1c8d6b0.zip
witness/hwpmc: fix locking order for pmc locks
Notes
Notes: svn path=/head/; revision=334299
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/subr_witness.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/sys/kern/subr_witness.c b/sys/kern/subr_witness.c
index 33a103ec715b..9edec343e39a 100644
--- a/sys/kern/subr_witness.c
+++ b/sys/kern/subr_witness.c
@@ -499,12 +499,12 @@ static struct witness_order_list_entry order_lists[] = {
{ "pipe mutex", &lock_class_mtx_sleep },
{ "sigio lock", &lock_class_mtx_sleep },
{ "process group", &lock_class_mtx_sleep },
- { "process lock", &lock_class_mtx_sleep },
- { "session", &lock_class_mtx_sleep },
- { "uidinfo hash", &lock_class_rw },
#ifdef HWPMC_HOOKS
{ "pmc-sleep", &lock_class_mtx_sleep },
#endif
+ { "process lock", &lock_class_mtx_sleep },
+ { "session", &lock_class_mtx_sleep },
+ { "uidinfo hash", &lock_class_rw },
{ "time lock", &lock_class_mtx_sleep },
{ NULL, NULL },
/*
@@ -671,9 +671,6 @@ static struct witness_order_list_entry order_lists[] = {
{ "uart_hwmtx", &lock_class_mtx_spin },
{ "fast_taskqueue", &lock_class_mtx_spin },
{ "intr table", &lock_class_mtx_spin },
-#ifdef HWPMC_HOOKS
- { "pmc-per-proc", &lock_class_mtx_spin },
-#endif
{ "process slock", &lock_class_mtx_spin },
{ "syscons video lock", &lock_class_mtx_spin },
{ "sleepq chain", &lock_class_mtx_spin },
@@ -690,6 +687,12 @@ static struct witness_order_list_entry order_lists[] = {
#ifdef __powerpc__
{ "tlb0", &lock_class_mtx_spin },
#endif
+ { NULL, NULL },
+ { "sched lock", &lock_class_mtx_spin },
+#ifdef HWPMC_HOOKS
+ { "pmc-per-proc", &lock_class_mtx_spin },
+#endif
+ { NULL, NULL },
/*
* leaf locks
*/