On Thu, 2006-09-28 at 11:15 +0200, Jan Kiszka wrote:
> Philippe Gerum wrote:
> > On Mon, 2006-09-25 at 09:35 +0200, Jan Kiszka wrote:
> >
> > This one won't work. We need to forcibly re-enable the hw IRQs upon root
> > unstall requests, regardless of the fact that interrupts are pending in
> > the log; some code rely on this. E.g. Adeos/ppc over 2.4 would remain
> > stuck in the delay calibration routine, but there are other more tricky
> > places where this would bite too.
>
> But this would be ok?
>
> #else /* !CONFIG_SMP */
> __clear_bit(IPIPE_STALL_FLAG,
> &ipipe_root_domain->cpudata[cpuid].status);
>
> if (unlikely(ipipe_root_domain->cpudata[cpuid].irq_pending_hi !=
> 0)) {
> local_irq_disable_hw();
> __ipipe_sync_pipeline(IPIPE_IRQMASK_ANY);
> }
> local_irq_enable_hw();
> #endif /* CONFIG_SMP */
>
> So we can still save one disable IRQ in the fastpath.
>
But in such a case, you would have to use clear_bit() to keep atomicity.
> Jan
>
--
Philippe.
_______________________________________________
Adeos-main mailing list
[email protected]
https://mail.gna.org/listinfo/adeos-main