Re: [PATCH v3 19/25] cxl/region/extent: Expose region extent information in sysfs

Jonathan Cameron
2024-08-23T17:17:38Z

On Thu, 22 Aug 2024 21:58:02 -0500
Ira Weiny <ira.weiny@intel.com> wrote:

> Dave Jiang wrote:
> >
> >
> > On 8/16/24 7:44 AM, 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>
> > >
> > > ---
> > > Changes:
> > > [iweiny: split this out]
> > > [Jonathan: add documentation for extent sysfs]
> > > [Jonathan/djbw: s/label/tag]
> > > [Jonathan/djbw: treat tag as uuid]
> > > [djbw: use __ATTRIBUTE_GROUPS]
> > > [djbw: make tag invisible if it is empty]
> > > [djbw/iweiny: use conventional id names for extents; extentX.Y]
> > > ---
> > > Documentation/ABI/testing/sysfs-bus-cxl | 13 ++++++++
> > > drivers/cxl/core/extent.c | 58 +++++++++++++++++++++++++++++++++
> > > 2 files changed, 71 insertions(+)
> > >
> > > diff --git a/Documentation/ABI/testing/sysfs-bus-cxl b/Documentation/ABI/testing/sysfs-bus-cxl
> > > index 3a5ee88e551b..e97e6a73c960 100644
> > > --- a/Documentation/ABI/testing/sysfs-bus-cxl
> > > +++ b/Documentation/ABI/testing/sysfs-bus-cxl
> > > @@ -599,3 +599,16 @@ 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
> > > + /sys/bus/cxl/devices/dax_regionX/extentX.Y/length
> > > + /sys/bus/cxl/devices/dax_regionX/extentX.Y/tag
> >
> > I wonder consider an entry for each with their own descriptions, which seems to be the standard practice.
>
> :-/ Except kind of for the access'.
>
> What: /sys/bus/cxl/devices/regionZ/accessY/read_bandwidth
> /sys/bus/cxl/devices/regionZ/accessY/write_banwidth
>
> What: /sys/bus/cxl/devices/regionZ/accessY/read_latency
> /sys/bus/cxl/devices/regionZ/accessY/write_latency
>
> But I think you have a point.

It's a balance between complexity and repetition.

E.g. https://elixir.bootlin.com/linux/v6.11-rc4/source/Documentation/ABI/testing/sysfs-bus-iio#L427
is one of these files I know far too well. That would be a lot
of very boring repetition and that doc is long enough without breaking them up.

Here there are only 3 and a good bit of description differs so
probably good to split up.

Less so for bandwidth and latency cases.

Jonathan

>
> Ira
>
> >
> > DJ
> >
>
> [snip]
>