cvs commit: src/sys/kern kern_mutex.c kern_sx.c subr_witness.c
src/sys/sys _lock.h lock.h
John Baldwin
jhb at freebsd.org
Fri Jan 6 11:25:26 PST 2006
On Friday 06 January 2006 01:07 pm, John Baldwin wrote:
> 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.
Forgot:
Tested on: alpha, amd64, i386, sparc64
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the cvs-all
mailing list