On Wed, 2024-04-10 at 11:25 -0700, Haitao Huang wrote: > From: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> > > The misc cgroup controller (subsystem) currently does not perform > resource type specific action for Cgroups Subsystem State (CSS) events: > the 'css_alloc' event when a cgroup is created and the 'css_free' event > when a cgroup is destroyed. > > Define callbacks for those events and allow resource providers to > register the callbacks per resource type as needed. This will be > utilized later by the EPC misc cgroup support implemented in the SGX > driver. > > Signed-off-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> > Co-developed-by: Haitao Huang <haitao.huang@xxxxxxxxxxxxxxx> > Signed-off-by: Haitao Huang <haitao.huang@xxxxxxxxxxxxxxx> > Reviewed-by: Jarkko Sakkinen <jarkko@xxxxxxxxxx> > Reviewed-by: Tejun Heo <tj@xxxxxxxxxx> > Reviewed-by: Kai Huang <kai.huang@xxxxxxxxx> Nitpickings below: > > +/** > + * struct misc_res_ops: per resource type callback ops. > + * @alloc: invoked for resource specific initialization when cgroup is allocated. > + * @free: invoked for resource specific cleanup when cgroup is deallocated. > + */ > +struct misc_res_ops { > + int (*alloc)(struct misc_cg *cg); > + void (*free)(struct misc_cg *cg); > +}; > + Perhaps you can mention why you take 'struct misc_cg *cg' as parameter, but not 'struct misc_res *res' to the changelog. It's not very clear in this patch. [...] > static struct cgroup_subsys_state * > misc_cg_alloc(struct cgroup_subsys_state *parent_css) > { > - enum misc_res_type i; > - struct misc_cg *cg; > + struct misc_cg *parent_cg, *cg; > + int ret; > > - if (!parent_css) { > - cg = &root_cg; > + if (unlikely(!parent_css)) { > + parent_cg = cg = &root_cg; Seems the 'unlikely' is new. I think you can remove it because it's not something that is related to this patch.