cvs commit: src/sys/sys sx.h
Bruce Evans
bde at zeta.org.au
Wed Aug 30 09:37:29 UTC 2006
On Tue, 29 Aug 2006, John Baldwin wrote:
> jhb 2006-08-29 20:36:33 UTC
>
> FreeBSD src repository
>
> Modified files:
> sys/sys sx.h
> Log:
> The _sx_assert() prototype should exist if either of INVARIANTS or
> INVARIANT_SUPPORT is defined so you can build a kernel with
> INVARIANT_SUPPORT, but build a module with just INVARIANTS on.
No it shouldn't. INVARIANT_SUPPORT is a documented prerequisite for
INVARIANTS. So is the resulting requirements for using INVARIANTS to
create non-modular "modules": From /sys/conf/NOTES:
# The INVARIANT_SUPPORT option makes us compile in support for
# verifying some of the internal structures. It is a prerequisite for
^^^^^^^^^^^^^^^^^^^^^^^^
# 'INVARIANTS', as enabling 'INVARIANTS' will make these functions be
^^^^^^^^^^^^
# called. The intent is that you can set 'INVARIANTS' for single
# source files (by changing the source file or specifying it on the
# command line) if you have 'INVARIANT_SUPPORT' enabled. Also, if you
^^^^^^^^^^^^
# wish to build a kernel module with 'INVARIANTS', then adding
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# 'INVARIANT_SUPPORT' to your kernel will provide all the necessary
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# infrastructure without the added overhead.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
However, INVARIANTS is a fairly bogus option. Last time I looked
(long ago) it only controlled a small amount of kernel bloat, and there
are probably many other functions that are defined unconditionally else
modules with INVARIANTS would be more broken.
Bruce
More information about the cvs-src
mailing list