cvs commit: src/sys/dev/random randomdev.c
rwatson at FreeBSD.org
Thu Apr 15 11:55:13 PDT 2004
On Thu, 15 Apr 2004, John Baldwin wrote:
> On Thursday 15 April 2004 03:32 am, Mike Silbersack wrote:
> > On Tue, 13 Apr 2004, John Baldwin wrote:
> > > You should drop the lock before uiomove(). If the uio can possibly
> > > reference user memory, then uiomove() will do a copyout() which can fault
> > > and thus sleep if the page is in swap.
> > >
> > > --
> > > John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
> > I'm going to have a similar problem in sendfile when I try to de-giantify
> > it, and I'm sure read / write will have issues as well... will WITNESS
> > catch this potential problem?
> Not currently. One could add a WITNESS_WARN() check to uiomove() fairly
> easily though to force witness to catch this.
We also need to generate sleep warnings it M_TRYWAIT is passed to the mbuf
allocator, which I believe we currently don't do. Also, did we ever
re-add the sleep warning to the process tracing code?
Robert N M Watson FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org Senior Research Scientist, McAfee Research
More information about the cvs-all