Hello. On Tue, Oct 24, 2023 at 05:07:20PM +0100, Tvrtko Ursulin <tvrtko.ursu...@linux.intel.com> wrote: > +struct drm_cgroup_state { > + struct cgroup_subsys_state css; > +}; > + > +struct drm_root_cgroup_state { > + struct drm_cgroup_state drmcs; > +}; > + > +static struct drm_root_cgroup_state root_drmcs;
Special struct type for root state is uncommon. Have struct drm_cgroup_state root_drmcs; and possible future members can be global state variables. > +static void drmcs_free(struct cgroup_subsys_state *css) > +{ > + struct drm_cgroup_state *drmcs = css_to_drmcs(css); > + > + if (drmcs != &root_drmcs.drmcs) > + kfree(drmcs); > +} I think it can be relied on root cgroup not being ever free'd by cgroup core. Michal
signature.asc
Description: PGP signature