Re: add IRQS_PENDING for nested, simple and level handler to earlyabort suspend operation

From: Thomas Gleixner
Date: Fri May 18 2012 - 03:55:16 EST


On Fri, 18 May 2012, Ning Jiang wrote:

> During suspend check_wakeup_irqs() will check IRQS_PENDING flag to
> abort a suspend operation, however, this only applies for edge
> triggered irq. Add IRQS_PENDING for nested, simple and level handler
> to mimic the same behaviour as edge irq handler.
>
> Without this optimization, level irq can be handled correctly but there
> is some penalty. It has to go through a full run/suspend power cycle for level
> irq to be detected and handled. With it, we can abort the suspend operation
> earlier and thus shorten the interrupt latency.
>
> I know this is ugly as IRQS_PENDING is intended for edge irq but I don't
> know how to do it in a right way. Please enlighten me if you have better ideas.

First of all, please send patches inlined. Aside of that a similar
patch is queued in tip/irq/core commit d4dc0f90.

Thanks,

tglx


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/