Re: [PATCH RFC v2 1/3] mm: Add TAIL_MAPPING_REUSED_MAX

From: Matthew Wilcox
Date: Mon Aug 14 2023 - 15:09:41 EST


On Mon, Aug 14, 2023 at 02:44:09PM -0400, Peter Xu wrote:
> +/*
> + * This macro defines the maximum tail pages (of a folio) that can have the
> + * page->mapping field reused (offset 12 for 32bits, or 24 for 64bits).

No, don't say how many bytes into the structure something is. It'll
only get out of date. If somebody needs to know, use pahole.

> + * When the tail page's mapping field reused, it'll be exempted from
> + * ->mapping poisoning and checks. Also see the macro TAIL_MAPPING.
> + */
> +#define TAIL_MAPPING_REUSED_MAX (2)

More importantly, I think this is over-parametrisation. If you start to
use extra fields in struct folio, just change the code in page_alloc.c
directly.