On Wed, 2009-11-18 at 18:37 +0100, Jan Kiszka wrote: > Jan Kiszka wrote: > > Philippe Gerum wrote: > >> On Wed, 2009-11-18 at 18:12 +0100, Jan Kiszka wrote: > >>> This fixes the valid complaint about safe_halt being called with the > >>> root domain unstalled. > >> The fix should go to the caller. ipipe_suspend_domain() acts as a > >> logical barrier: after that point, you may assume that the current > >> domain is unstalled. > > > > The caller so far expect to find no interruption window between return > > from ipipe_suspend_domain and yet another local_irq_disable. It expects > > to remain stalled all the time until safe_halt. > > Checked again: Opening the IRQ window here is bogus, may cause > rescheduling delays to Linux (if not much worse things). > > I suppose it's better to adjust the assumption that ipipe_suspend_domain > behaves like "sti; hlt". Are there users that rely on this? > __ipipe_walk_pipeline does not look like it would.
I chose to never apply the mantra "never care for out of tree code" for Adeos, granted, at the expense of quite a lot of headaches, but that layer is a standalone building block which exports a stable API since years. I may revert that decision in a foreseeable future, when X3 starts notably. But I'm still reluctant to break such a significant assumption in the current patch series. I would rather move ipipe_suspend_domain() out of the atomic section on x86 (granted, this should be done carefully if ever possible). > > Jan > -- Philippe. _______________________________________________ Adeos-main mailing list [email protected] https://mail.gna.org/listinfo/adeos-main
