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

From: Robin Murphy
Date: Tue Nov 06 2018 - 09:39:30 EST


On 05/11/2018 14:58, Christoph Hellwig wrote:
On Fri, Nov 02, 2018 at 04:36:13PM -0700, Nicolin Chen wrote:
What if the pages came from highmem? I know that doesn't happen on arm64
today, but the point of this code *is* to be generic, and other users will
arrive eventually.

Hmm, so it probably should use sg_miter_start/stop() too? Looking
at the flush routine doing in PAGE_SIZE for each iteration, would
be possible to map and memset contiguous pages together? Actually
the flush routine might be also optimized if we can map contiguous
pages.

FYI, I have patches I plan to submit soon that gets rid of the
struct scatterlist use in this code to simplify it:

...and I have some significant objections to that simplification which I plan to respond with ;)

(namely that it defaults the whole higher-order page allocation business which will have varying degrees of performance impact on certain cases)

Robin.