On 23/02/15 19:42, Justin Cormack wrote:
> ok so it eventually has to allocate memory while initialising the
> sysctl nodes and that is what causes it to reschedule.

The malloc hypercall should never block and therefore never reschedule. 
  Blocking, if it is allowed along the callpath, is handled in the rump 
kernel.  Here "blocking" of course means blocking in rump kernel virtual 
time.  If the malloc() or similar backend routine called by the 
hypercall implementation decides to e.g. do pageout, it will just appear 
like some instructions take a really long time, but, as opposed to 
rescheduling, will not cause incorrect execution in the rump kernel.

I guess that should be documented better too.

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
rumpkernel-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rumpkernel-users

Reply via email to