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

Reply via email to