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
Fri Jul 7 16:55:41 UTC 2006


On Thursday 06 July 2006 18:21, Scott Long wrote:
> John Baldwin wrote:
> > 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.
> > 
> 
> What I'm afraid of is that these things will get forgotten now that they 
> have been pushed out of the way.  Are you interested in taking the next 
> step here?

I've put it on a list, but if someone else wants to do it first that would be 
fine by me.

-- 
John Baldwin


More information about the cvs-all mailing list