Re: [PATCH] sched/fair: Prevent dead task groups from regaining cfs_rq's

From: Mathias Krause
Date: Fri Nov 05 2021 - 13:14:38 EST


Am 05.11.21 um 17:58 schrieb Peter Zijlstra:
> On Fri, Nov 05, 2021 at 05:29:14PM +0100, Mathias Krause wrote:
>>> Looks like it needs to be the kfree_rcu() one in this case. I'll prepare
>>> a patch.
>>
>> Testing the below patch right now. Looking good so far. Will prepare a
>> proper patch later, if we all can agree that this covers all cases.
>>
>> But the basic idea is to defer the kfree()'s to after the next RCU GP,
>> which also means we need to free the tg object itself later. Slightly
>> ugly. :/
>
> Can't we add an rcu_head to struct task_group and simply call_rcu() the
> thing with a free function?

There is already one and this patch makes use of it for the second RCU
GP requirement. Basically, the patch is doing what you request, no? See
the new free_fair_sched_group().

Thanks,
Mathias