Re: [PATCH v2 0/5] Fix the incorrect memmep defer init handling and do some cleanup

From: Andrew Morton
Date: Tue Dec 22 2020 - 20:47:41 EST


On Sun, 20 Dec 2020 16:27:49 +0800 Baoquan He <bhe@xxxxxxxxxx> wrote:

> VMware reported the performance regression during memmap_init() invocation.
> And they bisected to commit 73a6e474cb376 ("mm: memmap_init: iterate over
> memblock regions rather that check each PFN") causing it.
>
> https://lore.kernel.org/linux-mm/DM6PR05MB52921FF90FA01CC337DD23A1A4080@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
>
> After investigation, it's caused by incorrect memmap init defer handling
> in memmap_init_zone() after commit 73a6e474cb376. The current
> memmap_init_zone() only handle one memory region of one zone, while
> memmap_init() iterates over all its memory regions and pass them one by
> one into memmap_init_zone() to handle.
>
> So in this patchset, patch 1/5 fixes the bug observed by VMware. Patch
> 2~5/5 clean up codes.
> accordingly.

This series doesn't apply well to current mainline (plus, perhaps,
material which I sent to Linus today).

So please check all that against mainline in a day or so, refresh,
retest and resend.

Please separate the fix for the performance regression (1/5) into a
single standalone patch, ready for -stable backporting. And then a
separate 4-patch series with the cleanups for a 5.11 merge.

Thanks.