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>