Re: [PATCHv5 04/10] node: Link memory nodes to their compute nodes

Keith Busch
2019-02-05T14:48:15Z

On Tue, Feb 05, 2019 at 04:33:27AM -0800, Rafael J. Wysocki wrote:
> On Fri, Jan 25, 2019 at 12:08 AM Keith Busch <keith.busch@intel.com> wrote:
> > +/**
> > + * struct node_access_nodes - Access class device to hold user visible
> > + * relationships to other nodes.
> > + * @dev: Device for this memory access class
> > + * @list_node: List element in the node's access list
> > + * @access: The access class rank
> > + */
> > +struct node_access_nodes {
> > + struct device dev;
>
> I'm not sure if the entire struct device is needed here.
>
> It looks like what you need is the kobject part of it only and you can
> use a kobject directly here:
>
> struct kobject kobj;
>
> Then, you can register that under the node's kobject using
> kobject_init_and_add() and you can create attr groups under a kobject
> using sysfs_create_groups(), which is exactly what device_add_groups()
> does.
>
> That would allow you to avoid allocating extra memory to hold the
> entire device structure and the extra empty "power" subdirectory added
> by device registration would not be there.

This is conflicting with Greg's feedback from the first version of
this series:

https://lore.kernel.org/lkml/20181126190619.GA32595@kroah.com/

Do you still recommend using kobject?