Re: [PATCH v3 2/5] mm: kmem: add direct objcg pointer to task_struct

From: Vlastimil Babka
Date: Wed Oct 18 2023 - 10:12:17 EST


On 10/18/23 11:52, Vlastimil Babka wrote:
>> +
>> + return objcg;
>> +}
>> +
>> __always_inline struct obj_cgroup *get_obj_cgroup_from_current(void)
>> {
>> struct mem_cgroup *memcg;
>> @@ -3008,19 +3054,26 @@ __always_inline struct obj_cgroup *get_obj_cgroup_from_current(void)
>>
>> if (in_task()) {
>> memcg = current->active_memcg;
>> + if (unlikely(memcg))
>> + goto from_memcg;
>>
>> - /* Memcg to charge can't be determined. */
>> - if (likely(!memcg) && (!current->mm || (current->flags & PF_KTHREAD)))
> The checks for current->mm and PF_KTHREAD seem to be gone completely after
> the patch, was that intended and why?

And also they are not present in the new flavor that's current_obj_cgroup().