On Fri, Jun 12, 2015 at 1:01 AM, Rabin Vincent <rabin.vincent@xxxxxxxx> wrote: > The GIC chained handlers use do_IRQ() to call the subhandlers. This > means that irq_enter() calls get nested, which leads to preempt count > looking like we're in nested interrupts, which in turn leads to all > system time being accounted as IRQ time in account_system_time(). > > Fix it by using generic_handle_irq(). Since these same functions are > used in some systems (if cpu_has_veic) from a low-level vectored > interrupt handler which does not go throught do_IRQ(), we need to do it > conditionally. > > Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>