Re: [PATCH v2 -next] blk-cgroup: synchoronize blkg creation against policy deactivation
From: yukuai (C) <hidden>
Date: 2021-10-15 01:48:38
Also in:
cgroups, lkml
From: yukuai (C) <hidden>
Date: 2021-10-15 01:48:38
Also in:
cgroups, lkml
On 2021/10/15 7:02, Tejun Heo wrote:
On Wed, Oct 13, 2021 at 08:44:56PM +0800, Yu Kuai wrote:quoted
@@ -1401,6 +1406,7 @@ void blkcg_deactivate_policy(struct request_queue *q, if (queue_is_mq(q)) blk_mq_freeze_queue(q); + mutex_lock(&q->blkg_lock); spin_lock_irq(&q->queue_lock);Given that deactivation drains q_usage_counter through blk_mq_freeze_queue(), can't the blkg_conf_prep() just pin the usage count?
In fact, the caller of blkcg_deactivate_policy() aready freeze the queue, either from blk_cleanup_queue() or from elevator_switch(). Grab q_usage_counter in blk_conf_prep() can prevent concurrent with blkcg_deactivate_policy(), I'm afraid will it be too much since it will also be synchoronized with all the other freeze/unfreeze queues? Thanks, Kuai