Questions about Fiasco.OC scheduler and L4Linux

Adam Lackorzynski adam at os.inf.tu-dresden.de
Sun Mar 26 23:46:21 CEST 2017


Hi,

On Fri Mar 24, 2017 at 22:48:03 +0100, Marc CHALAND wrote:
> 2017-03-22 23:45 GMT+01:00 Adam Lackorzynski <adam at os.inf.tu-dresden.de>:
> > Basically the vCPU model is an asynchronous execution model, that is
> > very similar to an actual CPU. I.e. you have vCPU that executes code and
> > that has an entry vector that is being jumped to whenever the vCPU shall
> > get an event (both asynchronous interrupts and synchronous exceptions).
> > To prevent diverting to the entry code there's a virtual interrupt flag,
> > i.e. if virtual interrupts are off, no message/interrupt will be posted.
> > Based on that multi-threading in the vCPU is implemented, i.e. some
> > timer triggers an interrupts, which in turn triggers some scheduling
> > code running in the vCPU which in turn does some stack switching.
> > You can also look into this paper
> > http://os.inf.tu-dresden.de/papers_ps/rtlws2010_genericvirt.pdf
> 
> So, in that case, I have to implement my own scheduler to run it into one
> vCPU ? We don't have the code of the old scheduler.

Ah, you don't have a scheduler. You don't need to use a vCPU, you can
also use a thread with its known semantics. That still works as it used
to work.



Adam



More information about the l4-hackers mailing list