Fiasco.OC: sigma0 stucks in ipc-path
adam at os.inf.tu-dresden.de
Thu Jun 7 10:47:12 CEST 2012
On Wed Jun 06, 2012 at 09:06:39 +0200, Norman Feske wrote:
> > Yes, that's a good question. This cannot really happen within L4Re due
> > to the eager memory allocation of moe, so it was never an issue there.
> I thought so too because Genode's core pre-allocates all memory from
> sigma0 at boot time. There are, however, rare cases where the sigma0
> protocol is invoked anyway. For example, for handing out MMIO regions to
> user-level device drivers (roottask doesn't know about those physical
> regions at boot time) and handing out boot modules.
> Because the use of the sigma0 protocol at runtime is extremely rare, and
> the chance for the time slice running out while a sigma0 request is
> processed even more so, and the chance to have a fully saturated system
> even more more so, this problem triggered only sporadically. Circa once
> in a month, and only in highly complex/dynamic scenarios. We have
> observed it the first time more than 6 months ago. It took us until now
> to come up with a stable test case that pinpoints the problem.
> > I do not really have an opinion on that right now but I'll try to get
> > one.
> To me the problem looks like a school-book example for priority
> inversion, which just happened to got covered up pretty nicely by
> Fiasco's time-slice donation optimization. Do you have an alternative
> way to fix it other than boost the priority of sigma0?
> You say that L4Re does not use the sigma0 protocol at runtime. Is there
The issue with mmio is very valid, thanks for the heads-up. Boosting the
prio seems the obvious thing to do.
Adam adam at os.inf.tu-dresden.de
More information about the l4-hackers