summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authorattilio <attilio@FreeBSD.org>2007-09-20 20:38:43 +0000
committerattilio <attilio@FreeBSD.org>2007-09-20 20:38:43 +0000
commite25b203061b232137e025efc647ecdab594849dd (patch)
tree1d744e733c0ca39255ebe0ac9fa96c43caf85983 /sys/kern
parent038cf0387bda3b49244f9b6841710beb211ddb19 (diff)
downloadFreeBSD-src-e25b203061b232137e025efc647ecdab594849dd.zip
FreeBSD-src-e25b203061b232137e025efc647ecdab594849dd.tar.gz
Fix some entries in the locks static table of witness.
In particular: - smp_tlb_mtx is no longer used, so it is axed. - smp rendezvous lock isn't really a leaf spin-mutex. Its bad placement in the table, however, has been the source of a false positive LOR reporting with the dt_lock. However, smp rendezvous lock would have had sched_lock there for older lock, so it wasn't still a leaf lock. - allpmaps is only used in ia32 architecture, so it is inserted in the appropriate stub. Addictionally: - kse_zombie_lock is no longer present, so its definition is axed out. - zombie_lock doesn't need to have an exported symbol, so just let's it be declared as static. Tested by: kris Approved by: jeff (mentor) Approved by: re
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/kern_switch.c1
-rw-r--r--sys/kern/kern_thread.c2
-rw-r--r--sys/kern/subr_witness.c17
3 files changed, 9 insertions, 11 deletions
diff --git a/sys/kern/kern_switch.c b/sys/kern/kern_switch.c
index e16e38e..8ff7092 100644
--- a/sys/kern/kern_switch.c
+++ b/sys/kern/kern_switch.c
@@ -586,7 +586,6 @@ runq_remove_idx(struct runq *rq, struct td_sched *ts, u_char *idx)
/****** functions that are temporarily here ***********/
#include <vm/uma.h>
-extern struct mtx kse_zombie_lock;
/*
* Allocate scheduler specific per-process resources.
diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c
index a8a3581..b003257 100644
--- a/sys/kern/kern_thread.c
+++ b/sys/kern/kern_thread.c
@@ -70,7 +70,7 @@ int virtual_cpu;
#endif
TAILQ_HEAD(, thread) zombie_threads = TAILQ_HEAD_INITIALIZER(zombie_threads);
-struct mtx zombie_lock;
+static struct mtx zombie_lock;
MTX_SYSINIT(zombie_lock, &zombie_lock, "zombie lock", MTX_SPIN);
static void thread_zombie(struct thread *);
diff --git a/sys/kern/subr_witness.c b/sys/kern/subr_witness.c
index 7b51cc6..c46bf94 100644
--- a/sys/kern/subr_witness.c
+++ b/sys/kern/subr_witness.c
@@ -406,7 +406,6 @@ static struct witness_order_list_entry order_lists[] = {
{ "sio", &lock_class_mtx_spin },
#ifdef __i386__
{ "cy", &lock_class_mtx_spin },
- { "descriptor tables", &lock_class_mtx_spin },
#endif
#ifdef __sparc64__
{ "pcib_mtx", &lock_class_mtx_spin },
@@ -430,22 +429,22 @@ static struct witness_order_list_entry order_lists[] = {
{ "entropy harvest mutex", &lock_class_mtx_spin },
{ "syscons video lock", &lock_class_mtx_spin },
{ "time lock", &lock_class_mtx_spin },
+#ifdef SMP
+ { "smp rendezvous", &lock_class_mtx_spin },
+#endif
/*
* leaf locks
*/
- { "allpmaps", &lock_class_mtx_spin },
{ "icu", &lock_class_mtx_spin },
-#ifdef SMP
- { "smp rendezvous", &lock_class_mtx_spin },
-#if defined(__i386__) || defined(__amd64__)
- { "tlb", &lock_class_mtx_spin },
-#endif
-#ifdef __sparc64__
+#if defined(SMP) && defined(__sparc64__)
{ "ipi", &lock_class_mtx_spin },
#endif
+#ifdef __i386__
+ { "allpmaps", &lock_class_mtx_spin },
+ { "descriptor tables", &lock_class_mtx_spin },
#endif
{ "clk", &lock_class_mtx_spin },
- { "mutex profiling lock", &lock_class_mtx_spin },
+ { "mprof lock", &lock_class_mtx_spin },
{ "kse lock", &lock_class_mtx_spin },
{ "zombie lock", &lock_class_mtx_spin },
{ "ALD Queue", &lock_class_mtx_spin },
OpenPOWER on IntegriCloud