Re: [PATCH] iommu/dma: Zero pages manually in a length of scatterlist

From: Christoph Hellwig
Date: Sun Nov 04 2018 - 10:50:09 EST


On Thu, Nov 01, 2018 at 02:35:00PM -0700, Nicolin Chen wrote:
> The __GFP_ZERO will be passed down to the generic page allocation
> routine which zeros everything page by page. This is safe to be a
> generic way but not efficient for iommu allocation that organizes
> contiguous pages using scatterlist.
>
> So this changes drops __GFP_ZERO from the flag, and adds a manual
> memset after page/sg allocations, using the length of scatterlist.
>
> My test result of a 2.5MB size allocation shows iommu_dma_alloc()
> takes 46% less time, reduced from averagely 925 usec to 500 usec.

And in what case does dma_alloc_* performance even matter?