cvs commit: src/sys/kern kern_module.c

John Baldwin jhb at freebsd.org
Thu Jun 29 10:52:57 UTC 2006


On Monday 26 June 2006 19:41, Sam Leffler wrote:
> John Baldwin wrote:
> > jhb         2006-06-26 18:34:45 UTC
> > 
> >   FreeBSD src repository
> > 
> >   Modified files:
> >     sys/kern             kern_module.c 
> >   Log:
> >   Address a problem I missed in removing Giant from the kernel linker.  Not
> >   all of the module event handlers are MP safe yet, so always acquire Giant
> >   for now when invoking module event handlers.  Eventually we can add an
> >   MPSAFE flag or some such and add appropriate locking to all module event
> >   handlers.
> 
> I suggest we should be marking things !MPSAFE rather than MPSAFE.
> 
> 	Sam

I would prefer that as well but that would require an exhaustive search of
all existing module event handlers to determine MPSAFE-ness up front.  With
the mark as MPSAFE method (such as we've used for syscalls) we can mark things
MPSAFE (and/or add locking to make them MPSAFE) while doing the exhaustive
search and eventually when all are MPSAFE we can remove the flag (which I'm
in the process of doing now with the syscall flag) all the while having a
functioning system.

-- 
John Baldwin


More information about the cvs-src mailing list