Messages in this thread | | | Date | Thu, 18 Dec 2014 17:58:13 +0100 | From | Paolo Bonzini <> | Subject | Re: [v3 13/26] KVM: Define a new interface kvm_find_dest_vcpu() for VT-d PI |
| |
On 18/12/2014 15:49, Zhang, Yang Z wrote: >>> Here, we introduce a similar way with 'apic_arb_prio' to handle >>> guest lowest priority interrtups when VT-d PI is used. Here is >>> the ideas: - Each vCPU has a counter 'round_robin_counter'. - >>> When guests sets an interrupts to lowest priority, we choose the >>> vCPU with smallest 'round_robin_counter' as the destination, then >>> increase it. > > How this can work well? All subsequent interrupts are delivered to > one vCPU? It shouldn't be the best solution, need more consideration.
Well, it's a hardware limitation. The alternative (which is easy to implement) is to only do PI for single-CPU interrupts. This should work well for multiqueue NICs (and of course for UP guests :)), so perhaps it's a good idea to only support that as a first attempt.
Paolo
> Also, I think you should take the apic_arb_prio into consider since > the priority is for the whole vCPU not for one interrupt.
| |