diff options
author | attilio <attilio@FreeBSD.org> | 2007-09-20 20:38:43 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2007-09-20 20:38:43 +0000 |
commit | e25b203061b232137e025efc647ecdab594849dd (patch) | |
tree | 1d744e733c0ca39255ebe0ac9fa96c43caf85983 /sys/kern | |
parent | 038cf0387bda3b49244f9b6841710beb211ddb19 (diff) | |
download | FreeBSD-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.c | 1 | ||||
-rw-r--r-- | sys/kern/kern_thread.c | 2 | ||||
-rw-r--r-- | sys/kern/subr_witness.c | 17 |
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 }, |