Re: [v4 4/6] mm/memory_hotplug: optimize probe routine

From: Ingo Molnar
Date: Fri Feb 16 2018 - 04:13:13 EST



* Pavel Tatashin <pasha.tatashin@xxxxxxxxxx> wrote:

> When memory is hotplugged pages_correctly_reserved() is called to verify
> that the added memory is present, this routine traverses through every
> struct page and verifies that PageReserved() is set. This is a slow
> operation especially if a large amount of memory is added.
>
> Instead of checking every page, it is enough to simply check that the
> section is present, has mapping (struct page array is allocated), and the
> mapping is online.
>
> In addition, we should not excpect that probe routine sets flags in struct
> page, as the struct pages have not yet been initialized. The initialization
> should be done in __init_single_page(), the same as during boot.
>
> Signed-off-by: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx>

Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx>

Thanks,

Ingo