[okl4-developer] spatial and temporal partitioning control?

Jean-Christophe Dubois jcd at tribudubois.net
Mon Aug 31 02:49:11 EST 2009


Hi,

Some more question on OKL4 principles:

So as I understand it OKL4 is providing a good spatial partitioning 
configuration. On a SOC device we have a good granularity and we can indeed 
assign each resource to the Cell we desire.

Now, I am a bit uneasy on how this would work on a non SOC device using for 
example a PCI bus or an USB bus. Would we get the ability to assign each PCI 
card/USB device to a single Cell. How should the bus enumeration/configuration 
happen? Considering the PCI enumeration could change the various devices 
physical addresses how would it work? How about PCI hotplug? I am not sure ... 
does anybody has a view on this? Or is this a field to explore?

Still this let the temporal partitioning issue. OKL4 is mostly based on 
priority. If a high priority cell goes mad, we are stuck because it will eat 
up all of our CPU without any possibility for other cells to try to fix the 
problem. And even if we have an even higher priority cell controlling the all 
thing, how could it find that one specific cell has gone mad and all others 
cells are starving on CPU resource.

Last if we are considering cells with threads of equal priority, OKL4 shall 
run these various threads in round-robin mode. But all threads will 
necessarily get the same scheduling time. I can't find an easy way to instruct 
OKL4 that for 2 threads of the same priority, one should get twice as much CPU 
time than the other one. Is there a way to allocate CPU resource  to the 
various cells/threads in a fine grained way?

BTW, now that there is no more "privileged" cell (as opposed to OKL4 2.4) how 
could one cell theoretically restart another cell that is crashed/has gone 
mad? We can certainly reset the all system but is there a finer grained way to 
do it?

Thanks

JC



More information about the Developer mailing list