Re: [PATCH 1/2] kvm/x86: Hyper-V synthetic interrupt controller

2015-10-12 Thread Christian Borntraeger
Am 09.10.2015 um 16:42 schrieb Paolo Bonzini: > Christian, the question for you is towards the end... [] > >> --- a/virt/kvm/irqchip.c >> +++ b/virt/kvm/irqchip.c >> @@ -144,11 +144,13 @@ static int setup_routing_entry(struct >> kvm_irq_routing_table *rt, >> >> /* >> * Do not

Re: [PATCH 1/2] kvm/x86: Hyper-V synthetic interrupt controller

2015-10-12 Thread Paolo Bonzini
On 12/10/2015 10:48, Cornelia Huck wrote: > Going back to Paolo's original question, I think changing the check > to !KVM_IRQ_ROUTING_IRQCHIP makes sense, if I understand the code > correctly. They seem to be the only special one. Great. Roman, Denis, can you do this then? Thanks, Paolo

Re: [PATCH 1/2] kvm/x86: Hyper-V synthetic interrupt controller

2015-10-12 Thread Cornelia Huck
On Mon, 12 Oct 2015 09:54:41 +0200 Christian Borntraeger wrote: > Am 09.10.2015 um 16:42 schrieb Paolo Bonzini: > > Christian, the question for you is towards the end... > > > > [] > > > >> --- a/virt/kvm/irqchip.c > >> +++ b/virt/kvm/irqchip.c > >> @@ -144,11

Re: [PATCH 1/2] kvm/x86: Hyper-V synthetic interrupt controller

2015-10-12 Thread Roman Kagan
On Fri, Oct 09, 2015 at 04:42:33PM +0200, Paolo Bonzini wrote: > You need to add SYNIC vectors to the EOI exit bitmap, so that APICv > (Xeon E5 or higher, Ivy Bridge or newer) is handled correctly. You also > need to check the auto EOI exit bitmap in __apic_accept_irq, and avoid > going through

Re: [PATCH 1/2] kvm/x86: Hyper-V synthetic interrupt controller

2015-10-12 Thread Roman Kagan
On Mon, Oct 12, 2015 at 10:58:36AM +0200, Paolo Bonzini wrote: > On 12/10/2015 10:48, Cornelia Huck wrote: > > Going back to Paolo's original question, I think changing the check > > to !KVM_IRQ_ROUTING_IRQCHIP makes sense, if I understand the code > > correctly. They seem to be the only special

Re: [PATCH 1/2] kvm/x86: Hyper-V synthetic interrupt controller

2015-10-09 Thread Paolo Bonzini
On 09/10/2015 17:53, Roman Kagan wrote: > > I really don't like this auto-EOI extension, but I guess that's the > > spec. :( If it wasn't for it, you could do everything very easily in > > userspace using Google's proposed MSR exit. > I guess you're right. We'd probably have to (ab)use MSI for

[PATCH 1/2] kvm/x86: Hyper-V synthetic interrupt controller

2015-10-09 Thread Denis V. Lunev
From: Andrey Smetanin Synic is a lapic extension, which is controlled via MSRs and maintains for each vCPU - 16 synthetic interrupt "lines" (SINT's); each can be configured to trigger a specific interrupt vector optionally with auto-EOI semantics - a message page

Re: [PATCH 1/2] kvm/x86: Hyper-V synthetic interrupt controller

2015-10-09 Thread Paolo Bonzini
Christian, the question for you is towards the end... On 09/10/2015 15:39, Denis V. Lunev wrote: > diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm/hyperv.c > index 62cf8c9..15c3c02 100644 > --- a/arch/x86/kvm/hyperv.c > +++ b/arch/x86/kvm/hyperv.c > @@ -23,13 +23,265 @@ > > #include "x86.h"