Re: [PATCH v4 22/28] cxl/region/extent: Expose region extent information in sysfs

Ira Weiny
2024-10-18T18:26:27Z

Jonathan Cameron wrote:
> On Mon, 07 Oct 2024 18:16:28 -0500
> ira.weiny@intel.com wrote:
>
> > From: Navneet Singh <navneet.singh@intel.com>
> >
> > Extent information can be helpful to the user to coordinate memory usage
> > with the external orchestrator and FM.
> >
> > Expose the details of region extents by creating the following
> > sysfs entries.
> >
> > /sys/bus/cxl/devices/dax_regionX/extentX.Y
> > /sys/bus/cxl/devices/dax_regionX/extentX.Y/offset
> > /sys/bus/cxl/devices/dax_regionX/extentX.Y/length
> > /sys/bus/cxl/devices/dax_regionX/extentX.Y/tag
> >
> > Signed-off-by: Navneet Singh <navneet.singh@intel.com>
> > Co-developed-by: Ira Weiny <ira.weiny@intel.com>
> > Signed-off-by: Ira Weiny <ira.weiny@intel.com>
> >
> Trivial comments inline.
>
> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

Thanks!

>
> > ---
> > Changes:
> > [djiang: Split sysfs docs up]
> > [iweiny: Adjust sysfs docs dates]
> > ---
> > Documentation/ABI/testing/sysfs-bus-cxl | 32 ++++++++++++++++++
> > drivers/cxl/core/extent.c | 58 +++++++++++++++++++++++++++++++++
> > 2 files changed, 90 insertions(+)
> >
> > diff --git a/Documentation/ABI/testing/sysfs-bus-cxl b/Documentation/ABI/testing/sysfs-bus-cxl
> > index b63ab622515f..64918180a3c9 100644
> > --- a/Documentation/ABI/testing/sysfs-bus-cxl
> > +++ b/Documentation/ABI/testing/sysfs-bus-cxl
> > @@ -632,3 +632,35 @@ Description:
> > See Documentation/ABI/stable/sysfs-devices-node. access0 provides
> > the number to the closest initiator and access1 provides the
> > number to the closest CPU.
> > +
> > +What: /sys/bus/cxl/devices/dax_regionX/extentX.Y/offset
> > +Date: December, 2024
> > +KernelVersion: v6.13
> > +Contact: linux-cxl@vger.kernel.org
> > +Description:
> > + (RO) [For Dynamic Capacity regions only] Users can use the
> > + extent information to create DAX devices on specific extents.
> > + This is done by creating and destroying DAX devices in specific
> > + sequences and looking at the mappings created.
>
> Similar to earlier patch, maybe put this doc for the directory, then
> have much less duplication?
>

But none of the other directories are done this way so I'm inclined to keep it.

>
> > Extent offset
> > + within the region.
> > +
> > +What: /sys/bus/cxl/devices/dax_regionX/extentX.Y/length
> > +Date: December, 2024
> > +KernelVersion: v6.13
> > +Contact: linux-cxl@vger.kernel.org
> > +Description:
> > + (RO) [For Dynamic Capacity regions only] Users can use the
> > + extent information to create DAX devices on specific extents.
> > + This is done by creating and destroying DAX devices in specific
> > + sequences and looking at the mappings created. Extent length
> > + within the region.
> > +
> > +What: /sys/bus/cxl/devices/dax_regionX/extentX.Y/tag
> > +Date: December, 2024
> > +KernelVersion: v6.13
> > +Contact: linux-cxl@vger.kernel.org
> > +Description:
> > + (RO) [For Dynamic Capacity regions only] Users can use the
> > + extent information to create DAX devices on specific extents.
> > + This is done by creating and destroying DAX devices in specific
> > + sequences and looking at the mappings created. Extent tag.
>
> Maybe say we are treating it as a UUID?

ok... How about?

<quote>
... looking at the mappings created. UUID extent tag.
</quote>

> > diff --git a/drivers/cxl/core/extent.c b/drivers/cxl/core/extent.c
> > index 69a7614ba6a9..a1eb6e8e4f1a 100644
> > --- a/drivers/cxl/core/extent.c
> > +++ b/drivers/cxl/core/extent.c
> > @@ -6,6 +6,63 @@
>
> > +static struct attribute *region_extent_attrs[] = {
> > + &dev_attr_offset.attr,
> > + &dev_attr_length.attr,
> > + &dev_attr_tag.attr,
> > + NULL,
> No need for trailing comma (one of my 'favourite' review comments :)

I'm noticing... :-D

Ira