Messages in this thread | | | Date | Fri, 5 Nov 2021 18:27:55 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH] sched/fair: Prevent dead task groups from regaining cfs_rq's |
| |
On Fri, Nov 05, 2021 at 06:14:33PM +0100, Mathias Krause wrote: > 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().
For some reason I thought you still did kfree_rcu(), I suppose reading is hard. I'll give it another go after dinner.
| |