cvs commit: src/sys/amd64/linux32 syscalls.master src/sys/compat/linux linux_ioctl.c src/sys/i386/linux syscalls.master

John Baldwin jhb at freebsd.org
Thu Jul 6 22:08:26 UTC 2006


On Thursday 06 July 2006 17:53, Scott Long wrote:
> John Baldwin wrote:
> > jhb         2006-07-06 21:42:36 UTC
> > 
> >   FreeBSD src repository
> > 
> >   Modified files:
> >     sys/amd64/linux32    syscalls.master 
> >     sys/compat/linux     linux_ioctl.c 
> >     sys/i386/linux       syscalls.master 
> >   Log:
> >   - Protect the list of linux ioctl handlers with an sx lock.
> >   - Hold Giant while calling linux ioctl handlers for now as they aren't 
all
> >     known to be MPSAFE yet.
> >   - Mark linux_ioctl() MPSAFE.
> >   
> >   Revision  Changes    Path
> >   1.15      +1 -1      src/sys/amd64/linux32/syscalls.master
> >   1.137     +17 -0     src/sys/compat/linux/linux_ioctl.c
> >   1.72      +1 -1      src/sys/i386/linux/syscalls.master
> 
> Why not add the small bit of infrastucture so that modules can declare 
> their handlers as MPSAFE or not?  There are certainly some drivers that
> would benefit from this.

We can certainly do that.  I'm up to at least 3 places that this could be
done now:

- module event handlers
- sysinit's
- linux_ioctl handlers

For now my focus is on eliminating syscall mpsafe flag, and most syscalls
can be made Giant free at this point, but for a few Giant is just being
pushed part of the way in.

-- 
John Baldwin


More information about the cvs-all mailing list