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>