Re: [PATCH v2 -next] blk-cgroup: synchoronize blkg creation against policy deactivation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2021/10/15 7:02, Tejun Heo wrote:
On Wed, Oct 13, 2021 at 08:44:56PM +0800, Yu Kuai wrote:
@@ -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



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux