Re: Questions about Fiasco.OC scheduler and L4Linux
Adam Lackorzynski <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, On Fri Mar 24, 2017 at 22:48:03 +0100, Marc CHALAND wrote: > 2017-03-22 23:45 GMT+01:00 Adam Lackorzynski <[email protected]>: > > 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