Date: Thu, 15 May 2008 20:10:07 +0000 (UTC) From: Attilio Rao <attilio@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern kern_sx.c subr_lock.c subr_witness.c src/sys/sys _lock.h _lockmgr.h _mutex.h _rwlock.h _sx.h lock.h lockmgr.h mutex.h rwlock.h Message-ID: <200805152010.m4FKA7p9001327@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
attilio 2008-05-15 20:10:07 UTC FreeBSD src repository Modified files: sys/kern kern_sx.c subr_lock.c subr_witness.c sys/sys _lock.h _lockmgr.h _mutex.h _rwlock.h _sx.h lock.h lockmgr.h mutex.h rwlock.h Log: - 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 Revision Changes Path 1.60 +1 -0 src/sys/kern/kern_sx.c 1.23 +1 -4 src/sys/kern/subr_lock.c 1.249 +41 -64 src/sys/kern/subr_witness.c 1.16 +2 -5 src/sys/sys/_lock.h 1.2 +0 -1 src/sys/sys/_lockmgr.h 1.14 +0 -1 src/sys/sys/_mutex.h 1.5 +0 -1 src/sys/sys/_rwlock.h 1.2 +0 -1 src/sys/sys/_sx.h 1.73 +4 -5 src/sys/sys/lock.h 1.70 +1 -0 src/sys/sys/lockmgr.h 1.103 +2 -0 src/sys/sys/mutex.h 1.19 +2 -0 src/sys/sys/rwlock.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200805152010.m4FKA7p9001327>