[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



Hi, everyone. Really sorry for digging out this thread. Because feng has left
Intel, I will take over this work, address some problems in his v8 patch set
and send out a v9 verson later such that VT-d PI can work properly on Xen.  

Thanks,
Chao

On Fri, Nov 18, 2016 at 09:57:17AM +0800, Wu, Feng wrote:
>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.
>
>
>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

_______________________________________________
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®.