Re: [PATCH 2/7] dt-bindings: PCI: Describe ATS property for root complex nodes

2017-06-05 Thread Rob Herring
On Thu, Jun 01, 2017 at 01:28:01PM +0100, Jean-Philippe Brucker wrote: > On 31/05/17 18:23, Rob Herring wrote: > > On Wed, May 24, 2017 at 07:01:38PM +0100, Jean-Philippe Brucker wrote: > >> Address Translation Service (ATS) is an extension to PCIe allowing > >> endpoints to manage their own IOTLB,

Re: Device address specific mapping of arm,mmu-500

2017-06-05 Thread Ray Jui via iommu
Hi Will/Robin, Just want to check with you on this again. Do you have a very rough timeline on when the excessive locking in the IOMMU driver may be fixed (so we can restore expected up to 95% performance)? Thanks, Ray On 5/31/17 10:32 AM, Ray Jui wrote: > Hi Will, > > On 5/31/17 5:44 AM, Wil

[PATCH v1 0/3] iommu/amd: AMD IOMMU performance updates 2017-06-05

2017-06-05 Thread Tom Lendacky
This patch series addresses some performance issues in the AMD IOMMU driver: - Reduce the amount of MMIO performed during command submission - When the command queue is (near) full, only wait till there is enough room for the command rather than wait for the whole queue to be empty - Limit the f

[PATCH v1 1/3] iommu/amd: Reduce amount of MMIO when submitting commands

2017-06-05 Thread Tom Lendacky
As newer, higher speed devices are developed, perf data shows that the amount of MMIO that is performed when submitting commands to the IOMMU causes performance issues. Currently, the command submission path reads the command buffer head and tail pointers and then writes the tail pointer once the c

[PATCH v1 2/3] iommu/amd: Reduce delay waiting for command buffer space

2017-06-05 Thread Tom Lendacky
Currently if there is no room to add a command to the command buffer, the driver performs a "completion wait" which only returns when all commands on the queue have been processed. There is no need to wait for the entire command queue to be executed before adding the next command. Update the drive

[PATCH v1 3/3] iommu/amd: Optimize the IOMMU queue flush

2017-06-05 Thread Tom Lendacky
After reducing the amount of MMIO performed by the IOMMU during operation, perf data shows that flushing the TLB for all protection domains during DMA unmapping is a performance issue. It is not necessary to flush the TLBs for all protection domains, only the protection domains associated with iova