cvs commit: src/sys/dev/fxp if_fxp.c if_fxpvar.h

John Baldwin jhb at FreeBSD.org
Wed Apr 30 10:19:24 PDT 2003


On 29-Apr-2003 Andrew Gallatin wrote:
> 
> John Baldwin writes:
>  > 
>  > Well, this also now involves extra locking in ithread_loop() (though we
>  > should be doing it anyway).  I'm kind of busy doing sigacts locking so
>  > I can finally get all of signal handling out from under Giant, but I
>  > can come back to this after that.
> 
> Thanks, I appreciate that.
> 
> What really needs to come out from under giant is uiomove.
> I'll be the first to admit that I have no idea what would be involved
> in that. 

If you are using a private uio structure then it doesn't need Giant.
copyin/copyout only need Giant if they fault and they will already
get it in that case.  bcopy() doesn't need Giant.  The per-thread flag
is already locked.  uio_yield() is already Giant-free.

-- 

John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


More information about the cvs-src mailing list