2022-11-15 22:12:57

by Michael Sammler

[permalink] [raw]
Subject: [PATCH v2] virtio_pmem: populate numa information

Compute the numa information for a virtio_pmem device from the memory
range of the device. Previously, the target_node was always 0 since
the ndr_desc.target_node field was never explicitly set. The code for
computing the numa node is taken from cxl_pmem_region_probe in
drivers/cxl/pmem.c.

Signed-off-by: Michael Sammler <[email protected]>
Reviewed-by: Pasha Tatashin <[email protected]>
Reviewed-by: Pankaj Gupta <[email protected]>
Tested-by: Mina Almasry <[email protected]>
---
Changes from v1:
- added Reviewed-by and Tested-by
- synced with mainline

drivers/nvdimm/virtio_pmem.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/nvdimm/virtio_pmem.c b/drivers/nvdimm/virtio_pmem.c
index 20da455d2ef6..a92eb172f0e7 100644
--- a/drivers/nvdimm/virtio_pmem.c
+++ b/drivers/nvdimm/virtio_pmem.c
@@ -32,7 +32,6 @@ static int init_vq(struct virtio_pmem *vpmem)
static int virtio_pmem_probe(struct virtio_device *vdev)
{
struct nd_region_desc ndr_desc = {};
- int nid = dev_to_node(&vdev->dev);
struct nd_region *nd_region;
struct virtio_pmem *vpmem;
struct resource res;
@@ -79,7 +78,15 @@ static int virtio_pmem_probe(struct virtio_device *vdev)
dev_set_drvdata(&vdev->dev, vpmem->nvdimm_bus);

ndr_desc.res = &res;
- ndr_desc.numa_node = nid;
+
+ ndr_desc.numa_node = memory_add_physaddr_to_nid(res.start);
+ ndr_desc.target_node = phys_to_target_node(res.start);
+ if (ndr_desc.target_node == NUMA_NO_NODE) {
+ ndr_desc.target_node = ndr_desc.numa_node;
+ dev_dbg(&vdev->dev, "changing target node from %d to %d",
+ NUMA_NO_NODE, ndr_desc.target_node);
+ }
+
ndr_desc.flush = async_pmem_flush;
ndr_desc.provider_data = vdev;
set_bit(ND_REGION_PAGEMAP, &ndr_desc.flags);
--
2.38.1.431.g37b22c650d-goog


2022-12-06 19:25:22

by Michael Sammler

[permalink] [raw]
Subject: Re: [PATCH v2] virtio_pmem: populate numa information

This patch is reviewed and tested. Is there anything that needs to be
done from my side (e.g. sync with mainline)?

(Adding my alternative email address to this thread as I will soon
lose access to the address I am sending this email from.)

2022-12-07 05:14:11

by Gupta, Pankaj

[permalink] [raw]
Subject: Re: [PATCH v2] virtio_pmem: populate numa information

+Cc [MST, virtualization-list]

Hi Dan, MST,

> This patch is reviewed and tested. Is there anything that needs to be
> done from my side (e.g. sync with mainline)?

If there are no further comments, Can we please merge this patch?

Thank You,
Pankaj

>
> (Adding my alternative email address to this thread as I will soon
> lose access to the address I am sending this email from.)

2022-12-07 10:50:02

by Michael S. Tsirkin

[permalink] [raw]
Subject: Re: [PATCH v2] virtio_pmem: populate numa information

On Wed, Dec 07, 2022 at 05:09:42AM +0100, Gupta, Pankaj wrote:
> +Cc [MST, virtualization-list]
>
> Hi Dan, MST,
>
> > This patch is reviewed and tested. Is there anything that needs to be
> > done from my side (e.g. sync with mainline)?
>
> If there are no further comments, Can we please merge this patch?
>
> Thank You,
> Pankaj


I'll take a look. Generally if you want my attention you
should CC me on the patch.

Thanks,
MST

> >
> > (Adding my alternative email address to this thread as I will soon
> > lose access to the address I am sending this email from.)

2022-12-07 10:52:10

by Gupta, Pankaj

[permalink] [raw]
Subject: Re: [PATCH v2] virtio_pmem: populate numa information


>
> I'll take a look. Generally if you want my attention you
> should CC me on the patch.

Sorry for that! Did not notice the entire Cc list earlier.

Best regards,
Pankaj