problems with new the "contigmalloc" routine

Don Lewis truckman at FreeBSD.org
Fri May 20 22:56:32 GMT 2005


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.



More information about the freebsd-hackers mailing list