[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250407093822.428-1-rakie.kim@sk.com>
Date: Mon, 7 Apr 2025 18:38:17 +0900
From: Rakie Kim <rakie.kim@...com>
To: Dan Williams <dan.j.williams@...el.com>
Cc: akpm@...ux-foundation.org,
gourry@...rry.net,
linux-mm@...ck.org,
linux-kernel@...r.kernel.org,
linux-cxl@...r.kernel.org,
joshua.hahnjy@...il.com,
ying.huang@...ux.alibaba.com,
david@...hat.com,
osalvador@...e.de,
kernel_team@...ynix.com,
honggyu.kim@...com,
yunjeong.mun@...com,
Jonathan Cameron <Jonathan.Cameron@...wei.com>,
Rakie Kim <rakie.kim@...com>
Subject: Re: [PATCH v6 2/3] mm/mempolicy: Prepare weighted interleave sysfs for memory hotplug
On Fri, 4 Apr 2025 10:23:10 -0700 Dan Williams <dan.j.williams@...el.com> wrote:
> Jonathan Cameron wrote:
> > On Fri, 4 Apr 2025 16:46:20 +0900
> > Rakie Kim <rakie.kim@...com> wrote:
> >
> > > Previously, the weighted interleave sysfs structure was statically
> > > managed during initialization. This prevented new nodes from being
> > > recognized when memory hotplug events occurred, limiting the ability
> > > to update or extend sysfs entries dynamically at runtime.
> > >
> > > To address this, this patch refactors the sysfs infrastructure and
> > > encapsulates it within a new structure, `sysfs_wi_group`, which holds
> > > both the kobject and an array of node attribute pointers.
> > >
> > > By allocating this group structure globally, the per-node sysfs
> > > attributes can be managed beyond initialization time, enabling
> > > external modules to insert or remove node entries in response to
> > > events such as memory hotplug or node online/offline transitions.
> > >
> > > Instead of allocating all per-node sysfs attributes at once, the
> > > initialization path now uses the existing sysfs_wi_node_add() and
> > > sysfs_wi_node_delete() helpers. This refactoring makes it possible
> > > to modularly manage per-node sysfs entries and ensures the
> > > infrastructure is ready for runtime extension.
> > >
> > > Signed-off-by: Rakie Kim <rakie.kim@...com>
> > > Signed-off-by: Honggyu Kim <honggyu.kim@...com>
> > > Signed-off-by: Yunjeong Mun <yunjeong.mun@...com>
> > > Reviewed-by: Gregory Price <gourry@...rry.net>
> > Hi Rakie,
> >
> > Some things I was requesting in patch 1 are done here.
> > Mostly I think what is wanted is moving some of that
> > refactoring back to that patch rather than here.
> >
> > Some of the label and function naming needs another look.
> >
> > Jonathan
> [..]
> > > @@ -3430,27 +3437,24 @@ static ssize_t node_store(struct kobject *kobj, struct kobj_attribute *attr,
> > > return count;
> > > }
> > >
> > > -static struct iw_node_attr **node_attrs;
> > > -
> > > -static void sysfs_wi_node_release(struct iw_node_attr *node_attr,
> > > - struct kobject *parent)
> > > +static void sysfs_wi_node_delete(int nid)
> >
> > Maybe stick to release naming to match the sysfs_wi_release()
> > below? I don't really care about this.
>
> I had asked for "delete" to pair with "add" and to not get confused with
> a final kobject_put() callback.
As Dan mentioned earlier, I also believe that "sysfs_wi_node_delete"
is a more appropriate name than "sysfs_wi_node_release" because it
pairs naturally with "sysfs_wi_node_add" and avoids confusion with
a final kobject_put() callback.
Rakie
Powered by blists - more mailing lists