On Tue, Apr 26, 2022 at 10:23:32PM -0700, Shakeel Butt <shakeelb@xxxxxxxxxx> wrote: > [...] > > > > +static inline struct mem_cgroup *get_mem_cgroup_from_obj(void *p) > > +{ > > + struct mem_cgroup *memcg; > > + > > Do we need memcg_kmem_enabled() check here or maybe > mem_cgroup_from_obj() should be doing memcg_kmem_enabled() instead of > mem_cgroup_disabled() as we can have "cgroup.memory=nokmem" boot > param. I reckon such a guard is on the charge side and readers should treat NULL and root_mem_group equally. Or is there a case when these two are different? (I can see it's different semantics when stored in current->active_memcg (and active_memcg() getter) but for such "outer" callers like here it seems equal.) Regards, Michal