RE: [PATCH v4 2/2] ACPI: NUMA: Apply SRAT proximity domain to entire CFMWS window

From: Dan Williams
Date: Tue Sep 12 2023 - 17:13:31 EST


alison.schofield@ wrote:
> From: Alison Schofield <alison.schofield@xxxxxxxxx>
>
> Commit fd49f99c1809 ("ACPI: NUMA: Add a node and memblk for each
> CFMWS not in SRAT") did not account for the case where the BIOS
> only partially describes a CFMWS Window in the SRAT. That means
> the omitted address ranges, of a partially described CFMWS Window,
> do not get assigned to a NUMA node.
>
> Replace the call to phys_to_target_node() with numa_add_memblks().
> Numa_add_memblks() searches an HPA range for existing memblk(s)
> and extends those memblk(s) to fill the entire CFMWS Window.
>
> Extending the existing memblks is a simple strategy that reuses
> SRAT defined proximity domains from part of a window to fill out
> the entire window, based on the knowledge* that all of a CFMWS
> window is of a similar performance class.
>
> *Note that this heuristic will evolve when CFMWS Windows present
> a wider range of characteristics. The extension of the proximity
> domain, implemented here, is likely a step in developing a more
> sophisticated performance profile in the future.
>
> There is no change in behavior when the SRAT does not describe
> the CFMWS Window at all. In that case, a new NUMA node with a
> single memblk covering the entire CFMWS Window is created.
>
> Fixes: fd49f99c1809 ("ACPI: NUMA: Add a node and memblk for each CFMWS not in SRAT")
> Reported-by: Derick Marks <derick.w.marks@xxxxxxxxx>
> Suggested-by: Dan Williams <dan.j.williams@xxxxxxxxx>
> Signed-off-by: Alison Schofield <alison.schofield@xxxxxxxxx>
> Tested-by: Derick Marks <derick.w.marks@xxxxxxxxx>

Reviewed-by: Dan Williams <dan.j.williams@xxxxxxxxx>