svn commit: r196226 - in head/sys: kern sys
Attilio Rao
attilio at freebsd.org
Sat Aug 15 03:01:04 UTC 2009
2009/8/14 Bjoern A. Zeeb <bz at freebsd.org>:
> Author: bz
> Date: Fri Aug 14 21:46:54 2009
> New Revision: 196226
> URL: http://svn.freebsd.org/changeset/base/196226
>
> Log:
> Add a new macro to test that a variable could be loaded atomically.
> Check that the given variable is at most uintptr_t in size and that
> it is aligned.
>
> Note: ASSERT_ATOMIC_LOAD() uses ALIGN() to check for adequate
> alignment -- however, the function of ALIGN() is to guarantee
> alignment, and therefore may lead to stronger alignment
> enforcement than necessary for types that are smaller than
> sizeof(uintptr_t).
>
> Add checks to mtx, rw and sx locks init functions to detect possible
> breakage. This was used during debugging of the problem fixed with
> r196118 where a pointer was on an un-aligned address in the dpcpu area.
>
> In collaboration with: rwatson
> Reviewed by: rwatson
> Approved by: re (kib)
>
> Modified:
> head/sys/kern/kern_mutex.c
> head/sys/kern/kern_rwlock.c
> head/sys/kern/kern_sx.c
> head/sys/sys/systm.h
I think you should cover the lockmgr case too.
Attilio
--
Peace can only be achieved by understanding - A. Einstein
More information about the svn-src-head
mailing list