Re: acpi/hmat: don't mix pxm and nid when setting memory target processor_pxm

From: Brice Goglin
Date: Fri Nov 29 2019 - 07:54:53 EST


Le 28/10/2019 Ã 10:11, Brice Goglin a ÃcritÂ:
> On systems where PXMs and nids are in different order, memory initiators
> exposed in sysfs could be wrong: On dual-socket CLX with SNC enabled
> (4 nodes, 1 and 2 swapped between PXMs and nids), node1 would only
> get node2 as initiator, and node2 would only get node1.
>
> With this patch, we get node1 as the only initiator of itself,
> and node2 as the only initiator of itself, as expected.
>
> This should likely go to stable up to 5.2.
>
> Signed-off-by: Brice Goglin <Brice.Goglin@xxxxxxxx>
>
> diff --git a/drivers/acpi/hmat/hmat.c b/drivers/acpi/hmat/hmat.c
> index 8f9a28a870b0..3ca3c7c97ee0 100644
> --- a/drivers/acpi/hmat/hmat.c
> +++ b/drivers/acpi/hmat/hmat.c
> @@ -417,7 +417,7 @@ static int __init hmat_parse_proximity_domain(union acpi_subtable_headers *heade
> pr_debug("HMAT: Invalid Processor Domain\n");
> return -EINVAL;
> }
> - target->processor_pxm = p_node;
> + target->processor_pxm = p->processor_PD;
> }
>
> return 0;
>

Can we have somebody please review this patch? I didn't get any reply
from Keith since I first sent it to him in early September unfortunately.

Without this patch, memory initiators are exposed wrong on our Dell R740.

Thanks

Brice