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.