Re: bfq: update internal depth state when queue depth changes

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

 



On 1/19/19 4:13 AM, Kai Krakow wrote:
> Am Fr., 18. Jan. 2019 um 18:34 Uhr schrieb Jens Axboe <axboe@xxxxxxxxx>:
>>
>> A previous commit moved the shallow depth and BFQ depth map calculations
>> to be done at init time, moving it outside of the hotter IO path. This
>> potentially causes hangs if the users changes the depth of the scheduler
>> map, by writing to the 'nr_requests' sysfs file for that device.
>>
>> Add a blk-mq-sched hook that allows blk-mq to inform the scheduler if
>> the depth changes, so that the scheduler can update its internal state.
>>
>> Reported-by: Paolo Valente <paolo.valente@xxxxxxxxxx>
>> Fixes: f0635b8a416e ("bfq: calculate shallow depths at init time")
>> Signed-off-by: Jens Axboe <axboe@xxxxxxxxx>
> 
> Works fine here in 4.18 as far as I could test (running a full backup,
> some compilations and Gentoo package upgrades, filling memory with web
> browsers to force swapping).
> 
> $ grep ^ /sys/block/*/queue/nr_requests
> /sys/block/bcache0/queue/nr_requests:128
> /sys/block/bcache1/queue/nr_requests:128
> /sys/block/bcache2/queue/nr_requests:128
> /sys/block/bcache3/queue/nr_requests:128
> /sys/block/bcache4/queue/nr_requests:128
> /sys/block/sda/queue/nr_requests:256
> /sys/block/sdb/queue/nr_requests:256
> /sys/block/sdc/queue/nr_requests:256
> /sys/block/sdd/queue/nr_requests:256
> /sys/block/sde/queue/nr_requests:256
> /sys/block/sdf/queue/nr_requests:256
> 
> Tested-by: Kai Krakow <kai@xxxxxxxxxxx>

Great, thanks for testing!

-- 
Jens Axboe




[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