Re: [PATCH V2 2/2] block: drain blkcg part of request_queue in blk_cleanup_queue()

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

 



On 11/23/2017 02:48 AM, Ming Lei wrote:
Now once blk_freeze_queue() returns, all requests(in-queue and pending)
can be drained, but we still need to drain blkcg part of request_queue
for both blk-mq and legacy, so this patch calls blkcg_drain_queue()
explicitely in blk_cleanup_queue() to do that.

Then the __blk_drain_queue() in blk_cleanup_queue() can be covered by both
blk_freeze_queue() and blkcg_drain_queue(), and tasks blocked in get_request()
are waken up in blk_set_queue_dying() too, so remove it from blk_cleanup_queue().

Cc: Wen Xiong<wenxiong@xxxxxxxxxx>
Cc: Mauricio Faria de Oliveira<mauricfo@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Ming Lei<ming.lei@xxxxxxxxxx>

Tested-by: Mauricio Faria de Oliveira <mauricfo@xxxxxxxxxxxxxxxxxx>

All disk pull tests completed successfully without I/O hangs (24 disks).


--
Mauricio Faria de Oliveira
IBM Linux Technology Center




[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