lkml.org 
[lkml]   [2014]   [Dec]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRE: [v3 13/26] KVM: Define a new interface kvm_find_dest_vcpu() for VT-d PI
    Date
    Feng Wu wrote on 2014-12-12:
    > This patch defines a new interface kvm_find_dest_vcpu for
    > VT-d PI, which can returns the destination vCPU of the
    > interrupt for guests.
    >
    > Since VT-d PI cannot handle broadcast/multicast interrupt,
    > Here we only handle Fixed and Lowest priority interrupts.
    >
    > The current method of handling guest lowest priority interrtups
    > is to use a counter 'apic_arb_prio' for each vCPU, we choose the
    > vCPU with smallest 'apic_arb_prio' and then increase it by 1.
    > However, for VT-d PI, we cannot re-use this, since we no longer
    > have control to 'apic_arb_prio' with posted interrupt direct
    > delivery by Hardware.
    >
    > 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. Also, I think you should take the apic_arb_prio into consider since the priority is for the whole vCPU not for one interrupt.

    Best regards,
    Yang




    \
     
     \ /
      Last update: 2014-12-18 16:21    [W:4.389 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site