Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1383963
| From | Juergen Gross <jgross@suse.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] xen/x86: don't lose event interrupts |
| Date | 2016-04-21 11:00 +0200 |
| Message-ID | <rqiCS-6mQ-33@gated-at.bofh.it> (permalink) |
| References | <rondE-3Qv-7@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On 16/04/16 03:23, Stefano Stabellini wrote: > 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> > > diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c > index a0a4e55..6deba5b 100644 > --- a/arch/x86/xen/time.c > +++ b/arch/x86/xen/time.c > @@ -290,11 +290,11 @@ static int xen_vcpuop_set_next_event(unsigned long delta, > WARN_ON(!clockevent_state_oneshot(evt)); > > single.timeout_abs_ns = get_abs_timeout(delta); > - single.flags = VCPU_SSHOTTMR_future; > + /* Get an event anyway, even if the timeout is already expired */ > + single.flags = 0; > > ret = HYPERVISOR_vcpu_op(VCPUOP_set_singleshot_timer, cpu, &single); > - > - BUG_ON(ret != 0 && ret != -ETIME); > + BUG_ON(ret != 0); > > return ret; > } >
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH] xen/x86: don't lose event interrupts Stefano Stabellini <sstabellini@kernel.org> - 2016-04-16 03:30 +0200
Re: [PATCH] xen/x86: don't lose event interrupts Juergen Gross <jgross@suse.com> - 2016-04-21 11:00 +0200
Re: [PATCH] xen/x86: don't lose event interrupts Stefano Stabellini <sstabellini@kernel.org> - 2016-04-25 12:30 +0200
csiph-web