[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAH3Oq6Rhqr+cZmYPCOhHqOP=B60zw_GRFDCkOTjEr9wp9NtFmA@mail.gmail.com>
Date: Fri, 18 May 2012 12:55:29 +0800
From: Ning Jiang <ning.n.jiang@...il.com>
To: tglx@...utronix.de, rjw@...k.pl
Cc: linux-kernel@...r.kernel.org
Subject: add IRQS_PENDING for nested, simple and level handler to early abort
suspend operation
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.
Ning
Download attachment "0001-genirq-add-IRQS_PENDING-for-nested-simple-and-level-.patch" of type "application/octet-stream" (1959 bytes)
Powered by blists - more mailing lists