Messages in this thread | | | Subject | Re: [PATCH v2 1/2] blk-iocost: add refcounting for iocg | From | Yu Kuai <> | Date | Wed, 11 Jan 2023 09:36:25 +0800 |
| |
Hi,
在 2023/01/11 2:36, Tejun Heo 写道: > Hello, > > On Tue, Jan 10, 2023 at 09:39:44AM +0800, Yu Kuai wrote: >> As I tried to explain before, we can make sure blkg_free() is called >> in order, but blkg_free() from remove cgroup can concurrent with >> deactivate policy, and we can't guarantee the order of ioc_pd_free() >> that is called both from blkg_free() and blkcg_deactivate_policy(). >> Hence I don't think #3 is possible. > > Hahaha, sorry that I keep forgetting that. This doesn't really feel like > that important or difficult part of the problem tho. Can't it be solved by > synchronizing blkg free work item against the deactivate path with a mutex? >
I'm not sure, of course this can fix the problem, but two spinlock 'blkcg->lock' and 'q->queue_lock' are used to protect blkg_destroy() currently, add a mutex(disk level?) requires a refactor, which seems complex to me.
Thanks, Kuai
| |