Re: [RFC PATCH 01/11] mm/mempolicy: implement the sysfs-based weighted_interleave interface

From: Gregory Price
Date: Thu Dec 07 2023 - 19:12:18 EST


On Thu, Dec 07, 2023 at 01:56:07PM -0800, Davidlohr Bueso wrote:
> On Wed, 06 Dec 2023, Gregory Price wrote:
> > +
> > +What: /sys/kernel/mm/mempolicy/weighted_interleave/nodeN/
> > +Date: December 2023
> > +Contact: Linux memory management mailing list <linux-mm@xxxxxxxxx>
> > +Description: Configuration interface for accesses initiated from nodeN
> > +
> > + The directory to configure access initiator weights for nodeN.
> > +
> > + Possible numa nodes which have not been marked as a CPU node
> > + at boot will not have a nodeN directory made for them at boot.
>
> This could be better rephrased without the negation. ie:
>
> "Only numa nodes with CPUs (compute) will have a nodeN directory."
>

I thought documentation was supposed to be as confusing as possible.

lol I'll update it. reading it now, this is awful.

> > + Hotplug for CPU nodes is not supported.
>
> Can this even happen? Hot-adding a previously offlined CPU won't change/add a
> new numa node. So just rm the line altogether?
>

I... have no idea. In that sense, aye aye!

> > +static ssize_t node_weight_show(struct kobject *kobj,
> > + struct kobj_attribute *attr, char *buf)
> > +
> > +static ssize_t node_weight_store(struct kobject *kobj,
> > + struct kobj_attribute *attr,
> > + const char *buf, size_t count)
>
> iw_table will need some (basic) form of serialization.
>

originally the SKH group recommended a serialized "N*W,N*W,..." format,
but this doesn't work for a matrix.

Possibly i could add `N-M*W,...;N-M*W,...` and add a nodeN/weightlist
interface that lets you acquire the whole iw_table for one or more
nodes. Might be a nice extension.

I figured there is an aversion to multi-value sysfs files, so I reverted
back to a one-file-one-value file. If there is a preference for the
fully serialized methods, I'll happily add those. Easy enough and I
already have the code to parse it.

~Gregory