]> www.infradead.org Git - users/jedix/linux-maple.git/commit
xen/x86: don't lose event interrupts
authorStefano Stabellini <sstabellini@kernel.org>
Sat, 16 Apr 2016 01:23:00 +0000 (18:23 -0700)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Fri, 3 Jun 2016 19:37:55 +0000 (15:37 -0400)
commit9503599d792cc2ec3e512d6b9437da2726012bf9
treed25b78c60fbdd7ad4a6cf7e46242043983aa65b0
parenta27658fc4cbd65e172191ecf3426e7a0e9794d1f
xen/x86: don't lose event interrupts

On slow platforms with unreliable TSC, such as QEMU emulated machines,
it is possible for the kernel to request the next event in the past. In
that case, in the current implementation of xen_vcpuop_clockevent, we
simply return -ETIME. To be precise the Xen returns -ETIME and we pass
it on. However the result of this is a missed event, which simply causes
the kernel to hang.

Instead it is better to always ask the hypervisor for a timer event,
even if the timeout is in the past. That way there are no lost
interrupts and the kernel survives. To do that, remove the
VCPU_SSHOTTMR_future flag.

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Juergen Gross <jgross@suse.com>
(cherry picked from commit c06b6d70feb32d28f04ba37aa3df17973fd37b6b)
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
OraBug: 23527575 - UEK4 can't run under Xen nested virtualization
arch/x86/xen/time.c