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