[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