Re: [PATCH v8 03/13] KVM: Define a new interface kvm_intr_is_single_vcpu()

2015-09-18 Thread Paolo Bonzini
On 18/09/2015 18:16, Radim Krčmář wrote: >>> >> Ok, I was wondering whether this was the correct interpretation. Thanks! >> > >> > Paolo, I don't think Radim clarify your concern, right? Since mda is >> > 8-bit, it >> > is wrong with mda >> 16, this is your concern, right? > In case it was: m

Re: [PATCH v8 03/13] KVM: Define a new interface kvm_intr_is_single_vcpu()

2015-09-18 Thread Radim Krčmář
2015-09-17 23:18+, Wu, Feng: >> From: Paolo Bonzini [mailto:pbonz...@redhat.com] >> On 17/09/2015 17:58, Radim Krčmář wrote: >>> xAPIC address are only 8 bit long so they always get delivered to x2APIC >>> cluster 0, where first 16 bits work like xAPIC flat logical mode. >> >> Ok, I was wonder

RE: [PATCH v8 03/13] KVM: Define a new interface kvm_intr_is_single_vcpu()

2015-09-17 Thread Wu, Feng
gt; iommu@lists.linux-foundation.org; linux-ker...@vger.kernel.org > Subject: Re: [PATCH v8 03/13] KVM: Define a new interface > kvm_intr_is_single_vcpu() > > > > On 17/09/2015 17:58, Radim Krčmář wrote: > > For interrupts from MSI and IOxAPIC: > > - Flat logical interr

RE: [PATCH v8 03/13] KVM: Define a new interface kvm_intr_is_single_vcpu()

2015-09-17 Thread Wu, Feng
.linux-foundation.org; linux-ker...@vger.kernel.org; Radim > Krčmář > Subject: Re: [PATCH v8 03/13] KVM: Define a new interface > kvm_intr_is_single_vcpu() > > >> On 17/09/2015 05:17, Wu, Feng wrote: > >>>>>>> + if (irq->dest_mode == A

Re: [PATCH v8 03/13] KVM: Define a new interface kvm_intr_is_single_vcpu()

2015-09-17 Thread Paolo Bonzini
On 17/09/2015 17:58, Radim Krčmář wrote: > For interrupts from MSI and IOxAPIC: > - Flat logical interrupts are delivered as if we had natural > (CPU0<->bit0, CPU1<->bit1, ...) flat logical xAPIC for first 8 VCPUs. > - Cluster logical doesn't work much, it's interpreted like flat logical. > I

Re: [PATCH v8 03/13] KVM: Define a new interface kvm_intr_is_single_vcpu()

2015-09-17 Thread Radim Krčmář
2015-09-17 16:24+0200, Paolo Bonzini: > I think kvm_apic_match_logical_addr for MSI and IOAPIC interrupts is > buggy in x2apic mode. > > It does: > > if (apic_x2apic_mode(apic)) > return ((logical_id >> 16) == (mda >> 16)) >&& (logical_id & mda & 0x

Re: [PATCH v8 03/13] KVM: Define a new interface kvm_intr_is_single_vcpu()

2015-09-17 Thread Paolo Bonzini
>> On 17/09/2015 05:17, Wu, Feng wrote: >>> + if (irq->dest_mode == APIC_DEST_PHYSICAL) { >>> + if (irq->dest_id == 0xFF) >>> + goto out; >>> + >>> + if (irq->dest_id >= ARRAY_SIZE(map->phys_map)) { > > Warning here

RE: [PATCH v8 03/13] KVM: Define a new interface kvm_intr_is_single_vcpu()

2015-09-17 Thread Wu, Feng
.linux-foundation.org; linux-ker...@vger.kernel.org > Subject: Re: [PATCH v8 03/13] KVM: Define a new interface > kvm_intr_is_single_vcpu() > > > > On 17/09/2015 05:17, Wu, Feng wrote: > >>> > > + if (irq->dest_mode == APIC_DEST_

Re: [PATCH v8 03/13] KVM: Define a new interface kvm_intr_is_single_vcpu()

2015-09-17 Thread Paolo Bonzini
On 17/09/2015 05:17, Wu, Feng wrote: >>> > > + if (irq->dest_mode == APIC_DEST_PHYSICAL) { >>> > > + if (irq->dest_id == 0xFF) >>> > > + goto out; >>> > > + >>> > > + if (irq->dest_id >= ARRAY_SIZE(map->phys_map)) { >> > >> > Warning here i

RE: [PATCH v8 03/13] KVM: Define a new interface kvm_intr_is_single_vcpu()

2015-09-16 Thread Wu, Feng
.linux-foundation.org; linux-ker...@vger.kernel.org > Subject: Re: [PATCH v8 03/13] KVM: Define a new interface > kvm_intr_is_single_vcpu() > > > > On 16/09/2015 10:49, Feng Wu wrote: > > This patch defines a new interface kvm_intr_is_single_vcpu(), > > which can ret

Re: [PATCH v8 03/13] KVM: Define a new interface kvm_intr_is_single_vcpu()

2015-09-16 Thread Paolo Bonzini
On 16/09/2015 10:49, Feng Wu wrote: > This patch defines a new interface kvm_intr_is_single_vcpu(), > which can returns whether the interrupt is for single-CPU or not. > > It is used by VT-d PI, since now we only support single-CPU > interrupts, For lowest-priority interrupts, if user configures

[PATCH v8 03/13] KVM: Define a new interface kvm_intr_is_single_vcpu()

2015-09-16 Thread Feng Wu
This patch defines a new interface kvm_intr_is_single_vcpu(), which can returns whether the interrupt is for single-CPU or not. It is used by VT-d PI, since now we only support single-CPU interrupts, For lowest-priority interrupts, if user configures it via /proc/irq or uses irqbalance to make it