If already we play with the IRQ count, we should do so only if we actually
"consume" the interrupt; normal timer IRQs should not have any adjustment
done.
Fixes: 353533232730 ("cpuidle: fix the menu governor to enhance IO performance")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
_Why_ we do these adjustments (also elsewhere) I don't reeally know.
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -788,13 +788,13 @@ int hpet_broadcast_is_available(void)
int hpet_legacy_irq_tick(void)
{
- this_cpu(irq_count)--;
-
if ( !hpet_events ||
(hpet_events->flags & (HPET_EVT_DISABLE|HPET_EVT_LEGACY)) !=
HPET_EVT_LEGACY )
return 0;
+ this_cpu(irq_count)--;
+
handle_hpet_broadcast(hpet_events);
return 1;