Permalink
Browse files

Balance correctly IRQs reappearing

If IRQ disappears and reappears later (this happens frequently for Xen)
the IRQ is not balanced correctly due to overflow in irq_count (as the
counter got smaller and difference cause overflow).
Rescan if this happens fix the problem.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
  • Loading branch information...
freddy77 committed Jul 2, 2014
1 parent a6b44fb commit 93ed80181e0ce7b81bc88a67fabad1ad829fc460
Showing with 8 additions and 0 deletions.
  1. +8 −0 procinterrupts.c
View
@@ -181,6 +181,14 @@ void parse_proc_interrupts(void)
break;
}
/* IRQ removed and reinserted, need restart or this will
* cause an overflow and IRQ won't be rebalanced again
*/
if (count < info->irq_count) {
need_rescan = 1;
break;
}
info->last_irq_count = info->irq_count;
info->irq_count = count;

0 comments on commit 93ed801

Please sign in to comment.