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

Re: [Xen-devel] [PATCH 2/4] VT-d: drop redundant calls to invalidate_sync()


  • To: Jan Beulich <JBeulich@xxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: "Zhang, Yang Z" <yang.z.zhang@xxxxxxxxx>
  • Date: Fri, 20 Jun 2014 02:10:16 +0000
  • Accept-language: en-US
  • Cc: "Zhang, Xiantao" <xiantao.zhang@xxxxxxxxx>
  • Delivery-date: Fri, 20 Jun 2014 02:10:24 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>
  • Thread-index: AQHPiWFKLAfoJ0fO2kOQIqo/syIYxpt5RsBw
  • Thread-topic: [PATCH 2/4] VT-d: drop redundant calls to invalidate_sync()

Jan Beulich wrote on 2014-06-16:
> The call tree iommu_flush_iec_index() -> __iommu_flush_iec() already 
> invokes invalidate_sync(). Removing the superfluous instances at once 
> allows the function to become static.
> 
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

Acked-by: Yang Zhang <yang.z.zhang@xxxxxxxxx>

> 
> --- a/xen/drivers/passthrough/vtd/extern.h
> +++ b/xen/drivers/passthrough/vtd/extern.h
> @@ -48,7 +48,6 @@ int queue_invalidate_iotlb(struct iommu
>      u8 granu, u8 dr, u8 dw, u16 did, u8 am, u8 ih, u64 addr);  int
>      queue_invalidate_iec(struct iommu *iommu, u8 granu, u8 im, u16
>      iidx);
> -int invalidate_sync(struct iommu *iommu);  int 
> iommu_flush_iec_global(struct iommu *iommu);  int 
> iommu_flush_iec_index(struct iommu *iommu, u8 im, u16 iidx);  void 
> clear_fault_bits(struct iommu *iommu);
> --- a/xen/drivers/passthrough/vtd/intremap.c
> +++ b/xen/drivers/passthrough/vtd/intremap.c
> @@ -358,7 +358,6 @@ static int ioapic_rte_to_remap_entry(str
>      memcpy(iremap_entry, &new_ire, sizeof(struct iremap_entry));
>      iommu_flush_cache_entry(iremap_entry, sizeof(struct iremap_entry));
>      iommu_flush_iec_index(iommu, 0, index);
> -    invalidate_sync(iommu);
> 
>      unmap_vtd_domain_page(iremap_entries);
>      spin_unlock_irqrestore(&ir_ctrl->iremap_lock, flags); @@ -643,7
>      +642,6 @@ static int msi_msg_to_remap_entry( memcpy(iremap_entry,
>      &new_ire, sizeof(struct iremap_entry));
>      iommu_flush_cache_entry(iremap_entry, sizeof(struct iremap_entry));
>      iommu_flush_iec_index(iommu, 0, index);
> -    invalidate_sync(iommu);
> 
>      unmap_vtd_domain_page(iremap_entries);
>      spin_unlock_irqrestore(&ir_ctrl->iremap_lock, flags);
> --- a/xen/drivers/passthrough/vtd/qinval.c
> +++ b/xen/drivers/passthrough/vtd/qinval.c
> @@ -228,7 +228,7 @@ static int queue_invalidate_wait(struct
>      return ret;
>  }
> -int invalidate_sync(struct iommu *iommu)
> +static int invalidate_sync(struct iommu *iommu)
>  {
>      int ret = -1;
>      struct qi_ctrl *qi_ctrl = iommu_qi_ctrl(iommu);
>


Best regards,
Yang



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