xen/events: Handle VIRQ_TIMER before any other hardirq in event loop.
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 28 Mar 2013 14:03:36 +0000 (10:03 -0400)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tue, 2 Apr 2013 18:01:21 +0000 (14:01 -0400)
commitbee980d9e9642e96351fa3ca9077b853ecf62f57
treeacb076bd2f1a40d650dada64943b100b0c579979
parentc26377e62f4e6bfb4d99ef88526047209701a83f
xen/events: Handle VIRQ_TIMER before any other hardirq in event loop.

This avoids any other hardirq handler seeing a very stale jiffies
value immediately after wakeup from a long idle period. The one
observable symptom of this was a USB keyboard, with software keyboard
repeat, which would always repeat a key immediately that it was
pressed. This is due to the key press waking the guest, the key
handler immediately runs, sees an old jiffies value, and then that
jiffies value significantly updated, before the key is unpressed.

Reviewed-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
drivers/xen/events.c