path: root/sys/sys/_lockmgr.h
diff options
authorAttilio Rao <attilio@FreeBSD.org>2008-05-15 20:10:06 +0000
committerAttilio Rao <attilio@FreeBSD.org>2008-05-15 20:10:06 +0000
commit90356491d7c1d6bf64068ece7ea715f10a583a87 (patch)
tree4a7012a0d4693359153827067b7671780eaffb71 /sys/sys/_lockmgr.h
parent6a9d52f375714b2e46c5e1293ddaa54608669981 (diff)
- Embed the recursion counter for any locking primitive directly in the
lock_object, using an unified field called lo_data. - Replace lo_type usage with the w_name usage and at init time pass the lock "type" directly to witness_init() from the parent lock init function. Handle delayed initialization before than witness_initialize() is called through the witness_pendhelp structure. - Axe out LO_ENROLLPEND as it is not really needed. The case where the mutex init delayed wants to be destroyed can't happen because witness_destroy() checks for witness_cold and panic in case. - In enroll(), if we cannot allocate a new object from the freelist, notify that to userspace through a printf(). - Modify the depart function in order to return nothing as in the current CVS version it always returns true and adjust callers accordingly. - Fix the witness_addgraph() argument name prototype. - Remove unuseful code from itismychild(). This commit leads to a shrinked struct lock_object and so smaller locks, in particular on amd64 where 2 uintptr_t (16 bytes per-primitive) are gained. Reviewed by: jhb
Notes: svn path=/head/; revision=179025
Diffstat (limited to 'sys/sys/_lockmgr.h')
1 files changed, 0 insertions, 1 deletions
diff --git a/sys/sys/_lockmgr.h b/sys/sys/_lockmgr.h
index 11ddac62931e..0b99e1a4cba5 100644
--- a/sys/sys/_lockmgr.h
+++ b/sys/sys/_lockmgr.h
@@ -38,7 +38,6 @@
struct lock {
struct lock_object lock_object;
volatile uintptr_t lk_lock;
- volatile unsigned lk_recurse;
int lk_timo;
int lk_pri;