Re: [PATCH 1/10] PM: Rework handling of interrupts during suspend-resume (rev. 5)

Thomas Gleixner
2009-03-11T21:42:09Z

On Wed, 11 Mar 2009, Rafael J. Wysocki wrote:
> On Wednesday 11 March 2009, Thomas Gleixner wrote:
> > > +EXPORT_SYMBOL_GPL(suspend_device_irqs);
> >
> > I'm not too enthusiastic about this open coded implementation of
> > disable_irq() with slightly different semantics.
>
> The difference in semantics is important IMO, otherwise I woulndn't have
> done that. In particular, IMO, the condition should be under the spinlock IMO
> and I'd rather not synchronize all interrupts we don't really disable here.

I don't say that the difference is not relevant. But the code is
almost the same and disable_irq() could have the sync_irq optimization
as well.

> > Can we please move the fiddling with desc->* into
> > kernel/irq/manage.c and share the code there ?
>
> Can you please discuss that with Ingo? I moved that from manage.c at his
> request.

Hmrpf. Will do. I just want to avoid that we have scattered functions
which deal with the guts of the irq code all over the place. I'm fine
with your loop in irq/pm.c, but the actual handling of the irq
internals should remain in manage.c.

I'll have a closer look how to solve this.

Thanks,

tglx