Re: [PATCH 0/1] mm: Optimizing hugepage zeroing in arm64

From: Will Deacon
Date: Thu Jan 21 2021 - 12:52:10 EST


On Thu, Jan 21, 2021 at 10:21:50PM +0530, Prathu Baronia wrote:
> This patch removes the unnecessary kmap calls in the hugepage zeroing path and
> improves the timing by 62%.
>
> I had proposed a similar change in Apr-May'20 timeframe in memory.c where I
> proposed to clear out a hugepage by directly calling a memset over the whole
> hugepage but got the opposition that the change was not architecturally neutral.
>
> Upon revisiting this now I see significant improvement by removing around 2k
> barrier calls from the zeroing path. So hereby I propose an arm64 specific
> definition of clear_user_highpage().

Given that barrier() is purely a thing for the compiler, wouldn't the same
change yield a benefit on any other architecture without HIGHMEM? In which
case, I think this sort of change belongs in the core code if it's actually
worthwhile.

Will