Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Apr 2004 14:54:31 -0400 (EDT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/dev/random randomdev.c
Message-ID:  <Pine.NEB.3.96L.1040415145240.95950E-100000@fledge.watson.org>
In-Reply-To: <200404151435.25450.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

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@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@fledge.watson.org      Senior Research Scientist, McAfee Research




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1040415145240.95950E-100000>