Re: [PATCH v4] mm/page_ext: Do not allocate space for page_ext->flags if not needed

From: David Rientjes
Date: Wed Jan 18 2023 - 01:01:45 EST


On Tue, 17 Jan 2023, Pasha Tatashin wrote:

> There is 8 byte page_ext->flags field allocated per page whenever
> CONFIG_PAGE_EXTENSION is enabled. However, not every user of page_ext
> uses flags. Therefore, check whether flags is needed at least by one
> user and if so allocate space for it.
>
> For example when page_table_check is enabled, on a machine with 128G
> of memory before the fix:
>
> [ 2.244288] allocated 536870912 bytes of page_ext
> after the fix:
> [ 2.160154] allocated 268435456 bytes of page_ext
>
> Also, add a kernel-doc comment before page_ext_operations that describes
> the fields, and remove check if need() is set, as that is now a required
> field.
>
> Signed-off-by: Pasha Tatashin <pasha.tatashin@xxxxxxxxxx>
> Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
> Acked-by: David Hildenbrand <david@xxxxxxxxxx>

Acked-by: David Rientjes <rientjes@xxxxxxxxxx>