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

Re: [Xen-devel] [PATCH v4 0/2] Make the pcidevs_lock a recursive one



Hi,
  __iiuc__, this patch set is ready for staging branch. if yes, could you help 
me merge it into staging branch?
Then, I would send out remaining patch sets on it. otherwise, there are some 
conflicts to it. Thanks.

Quan


On March 10, 2016 10:10pm, <quan.xu@xxxxxxxxx> wrote:
> This patch set makes the pcidevs_lock a recursive one, as pcidevs_lock is 
> going
> to be recursively taken for hiding ATS device, when VT-d Device-TLB flush 
> timed
> out. It is a prereq patch set for Patch:'VT-d Device-TLB flush issue'.
> 
> In detail:
>  1. Fix a bug found in AMD IOMMU initialization
> 
>   pcidevs_lock doesn't require interrupts to be disabled while being acquired.
>   However there remains an exception in AMD IOMMU code, where the lock is
>   acquired with interrupt disabled. This inconsistency might lead to deadlock.
> 
>   The fix is straightforward to use spin_lock instead. Also interrupt has been
>   enabled when this function is invoked, so we're sure consistency around
>   pcidevs_lock can be guaranteed after this fix.
> 
>  2. Make the pcidevs_lock a recursive one.
> 
>   pcidevs_lock is going to be recursively taken for hiding ATS device,
>   when VT-d Device-TLB flush timed out.
> 
> 
> 
> CC: Keir Fraser <keir@xxxxxxx>
> CC: Jan Beulich <jbeulich@xxxxxxxx>
> CC: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> CC: Suravee Suthikulpanit <suravee.suthikulpanit@xxxxxxx>
> CC: Feng Wu <feng.wu@xxxxxxxxx>
> CC: Kevin Tian <kevin.tian@xxxxxxxxx>
> CC: Dario Faggioli <dario.faggioli@xxxxxxxxxx>
> 
> --Changes in v4:
>  * Enhance changelogs.
>  * Rebase against 0aa1330aac92.
> 
> Quan Xu (2):
>   IOMMU/spinlock: Fix a bug found in AMD IOMMU initialization
>   IOMMU/spinlock: Make the pcidevs_lock a recursive one.
> 
>  xen/arch/x86/domctl.c                       |  8 +--
>  xen/arch/x86/hvm/vmsi.c                     |  4 +-
>  xen/arch/x86/irq.c                          |  8 +--
>  xen/arch/x86/msi.c                          | 16 ++---
>  xen/arch/x86/pci.c                          |  4 +-
>  xen/arch/x86/physdev.c                      | 16 ++---
>  xen/common/sysctl.c                         |  4 +-
>  xen/drivers/passthrough/amd/iommu_init.c    |  9 ++-
>  xen/drivers/passthrough/amd/iommu_map.c     |  2 +-
>  xen/drivers/passthrough/amd/pci_amd_iommu.c |  4 +-
>  xen/drivers/passthrough/pci.c               | 97
> ++++++++++++++++++-----------
>  xen/drivers/passthrough/vtd/intremap.c      |  2 +-
>  xen/drivers/passthrough/vtd/iommu.c         | 14 ++---
>  xen/drivers/video/vga.c                     |  4 +-
>  xen/include/xen/pci.h                       |  5 +-
>  15 files changed, 110 insertions(+), 87 deletions(-)
> 
> --
> 1.9.1


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

 


Rackspace

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