Date: Fri, 6 Jan 2006 18:07:32 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern kern_mutex.c kern_sx.c subr_witness.c src/sys/sys _lock.h lock.h Message-ID: <200601061807.k06I7WHQ034800@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jhb 2006-01-06 18:07:32 UTC FreeBSD src repository Modified files: sys/kern kern_mutex.c kern_sx.c subr_witness.c sys/sys _lock.h lock.h Log: Trim another pointer from struct lock_object (and thus from struct mtx and struct sx). Instead of storing a direct pointer to a our lock_class struct in lock_object, reserve 4 bits in the lo_flags field to serve as an index into a global lock_classes array that contains pointers to the lock classes. Only debugging code such as WITNESS or INVARIANTS checks and KTR logging need to access the lock_class member, so this shouldn't add any overhead to production kernels. It might add some slight overhead to kernels using those debug options however. As with the previous set of changes to lock_object, this is going to completely obliterate the kernel ABI, so be sure to recompile all your modules. Revision Changes Path 1.160 +28 -15 src/sys/kern/kern_mutex.c 1.27 +2 -2 src/sys/kern/kern_sx.c 1.210 +33 -25 src/sys/kern/subr_witness.c 1.12 +0 -1 src/sys/sys/_lock.h 1.55 +19 -3 src/sys/sys/lock.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601061807.k06I7WHQ034800>