problems with new the "contigmalloc" routine

Peter Jeremy PeterJeremy at optushome.com.au
Sat May 21 03:43:11 GMT 2005


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


More information about the freebsd-hackers mailing list