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

Jonathan Cameron
2024-10-21T09:38:02Z

On Fri, 18 Oct 2024 13:26:14 -0500
Ira Weiny <ira.weiny@intel.com> wrote:

> 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.

Fair enough. Maybe a topic for a future cleanup to reduce duplication.

>
> >
> > > 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.
That's fine.

> </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
Maybe I'll one day add to checkpatch. If it weren't written in perl
I'd do it now ;)

Jonathan

>
> Ira
>