RE: [PATCH 1/2] drivers/dax/kmem: use default numa_mem_id if target_node is invalid

From: Justin He (Arm Technology China)
Date: Tue Sep 03 2019 - 05:27:06 EST


Hi
Ping.
The target_node will be -1 if numa disabled. IIUC, it is a generic issue, not only on arm64.


--
Cheers,
Justin (Jia He)



> -----Original Message-----
> From: Jia He <justin.he@xxxxxxx>
> Sent: 2019年8月16日 19:19
> To: Dan Williams <dan.j.williams@xxxxxxxxx>; Vishal Verma
> <vishal.l.verma@xxxxxxxxx>
> Cc: Keith Busch <keith.busch@xxxxxxxxx>; Dave Jiang
> <dave.jiang@xxxxxxxxx>; linux-nvdimm@xxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; Justin He (Arm Technology China)
> <Justin.He@xxxxxxx>
> Subject: [PATCH 1/2] drivers/dax/kmem: use default numa_mem_id if
> target_node is invalid
>
> In some platforms(e.g arm64 guest), the NFIT info might not be ready.
> Then target_node might be -1. But if there is a default numa_mem_id(),
> we can use it to avoid unnecessary fatal EINVL error.
>
> devm_memremap_pages() also uses this logic if nid is invalid, we can
> keep the same page with it.
>
> Signed-off-by: Jia He <justin.he@xxxxxxx>
> ---
> drivers/dax/kmem.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/dax/kmem.c b/drivers/dax/kmem.c
> index a02318c6d28a..ad62d551d94e 100644
> --- a/drivers/dax/kmem.c
> +++ b/drivers/dax/kmem.c
> @@ -33,9 +33,9 @@ int dev_dax_kmem_probe(struct device *dev)
> */
> numa_node = dev_dax->target_node;
> if (numa_node < 0) {
> - dev_warn(dev, "rejecting DAX region %pR with invalid
> node: %d\n",
> - res, numa_node);
> - return -EINVAL;
> + dev_warn(dev, "DAX %pR with invalid node, assume it
> as %d\n",
> + res, numa_node, numa_mem_id());
> + numa_node = numa_mem_id();
> }
>
> /* Hotplug starting at the beginning of the next block: */
> --
> 2.17.1

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.