[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v8 0/7] VMX: Properly handle pi descriptor and per-cpu blocking list



> From: Wu, Feng
> Sent: Friday, November 18, 2016 9:57 AM
> 
> The current VT-d PI related code may operate incorrectly in the
> following scenarios:
> 1. When the last assigned device is dettached from the domain, all
> the PI related hooks are removed then, however, the vCPU can be
> blocked, switched to another pCPU, etc, all without the aware of
> PI. After the next time we attach another device to the domain,
> which makes the PI realted hooks avaliable again, the status
> of the pi descriptor is not true. Beside that, the blocking vcpu
> may still remain in the per-cpu blocking in this case. Patch [1/7]
> and [2/7] handle this.
> 
> 2. [4/7] unify the code path of PI mode update and remapped mode update
> 
> 2. When IRTE is in posted mode, we don't need to set the irq
> affinity for it, since the destination of these interrupts is
> vCPU and the vCPU affinity is set during vCPU scheduling. Patch
> [5/7] handles this.
> 
> 4. [6/7] is a cleanup patch
> 
> 5. When a pCPU is unplugged, and there might be vCPUs on its
> list. Since the pCPU is offline, those vCPUs might not be woken
> up again. [7/7] addresses it.
> 
> 

just for completeness you didn't introduce 3/7 here.

> Feng Wu (7):
>   VMX: Permanently assign PI hook vmx_pi_switch_to()
>   VMX: Properly handle pi when all the assigned devices are removed
>   VMX: Make sure PI is in proper state before install the hooks
>   VT-d: Use one function to update both remapped and posted IRTE
>   VT-d: No need to set irq affinity for posted format IRTE
>   VT-d: Some cleanups
>   VMX: Fixup PI descriptor when cpu is offline
> 
>  xen/arch/x86/hvm/vmx/vmcs.c            |  14 +--
>  xen/arch/x86/hvm/vmx/vmx.c             | 133 ++++++++++++++++++++++-
>  xen/drivers/passthrough/pci.c          |  14 +++
>  xen/drivers/passthrough/vtd/intremap.c | 193
> +++++++++++++++------------------
>  xen/include/asm-x86/hvm/vmx/vmx.h      |   3 +
>  5 files changed, 240 insertions(+), 117 deletions(-)
> 
> --
> 2.1.0


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.