Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 May 2005 13:43:03 +1000
From:      Peter Jeremy <PeterJeremy@optushome.com.au>
To:        Don Lewis <truckman@freebsd.org>
Cc:        hselasky@c2i.net
Subject:   Re: problems with new the "contigmalloc" routine
Message-ID:  <20050521034303.GM2129@cirb503493.alcatel.com.au>
In-Reply-To: <200505202256.j4KMuFN9055802@gw.catspoiler.org>
References:  <20050520224928.GI2129@cirb503493.alcatel.com.au> <200505202256.j4KMuFN9055802@gw.catspoiler.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 2005-May-20 15:56:15 -0700, Don Lewis wrote:
>On 21 May, Peter Jeremy wrote:
>> On Fri, 2005-May-20 21:51:34 +0200, Hans Petter Selasky wrote:
>
>>>Can anyone explain why "uiomove()" has to sleep, and why there is no 
>>>non-blocking "uiomove()"?
>> 
>> As far as I can see, uiomove() only sleeps if it is asked to do a
>> kernel<->userland move that takes more than twice a scheduler quantum.
>> As long as you don't uiomove() ridiculous amounts of data, it should
>> never sleep.
>
>It can also sleep if it stumbles across a userland page that isn't
>resident.  When this happens, it will sleep until the page is retrieved
>from swap.

Mea culpa.  I thought pcb_onfault was invoked in lieu of paging but
it's actually invoked after the pager has tried to bring the page in.

-- 
Peter Jeremy



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050521034303.GM2129>