[PATCH v4] iommu/dma: Use NUMA aware memory allocations in __iommu_dma_alloc_pages()

Joerg Roedel joro at 8bytes.org
Tue Dec 11 09:30:30 UTC 2018


On Fri, Nov 30, 2018 at 07:14:00PM +0800, John Garry wrote:
> From: Ganapatrao Kulkarni <ganapatrao.kulkarni at cavium.com>
> 
> Change function __iommu_dma_alloc_pages() to allocate pages for DMA from
> respective device NUMA node. The ternary operator which would be for
> alloc_pages_node() is tidied along with this.
> 
> The motivation for this change is to have a policy for page allocation
> consistent with direct DMA mapping, which attempts to allocate pages local
> to the device, as mentioned in [1].
> 
> In addition, for certain workloads it has been observed a marginal
> performance improvement. The patch caused an observation of 0.9% average
> throughput improvement for running tcrypt with HiSilicon crypto engine.
> 
> We also include a modification to use kvzalloc() for kzalloc()/vzalloc()
> combination.
> 
> [1] https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1692998.html
> 
> Signed-off-by: Ganapatrao Kulkarni <ganapatrao.kulkarni at cavium.com>
> [JPG: Added kvzalloc(), drop pages ** being device local, remove ternary operator, update message]
> Signed-off-by: John Garry <john.garry at huawei.com>

Applied, thanks.


More information about the iommu mailing list