Re: [PATCH] bfq: backport: update internal depth state when queue depth changes

From: Eric Wheeler
Date: Fri May 10 2019 - 19:18:59 EST

On Fri, 10 May 2019, Sasha Levin wrote:

> On Fri, May 10, 2019 at 10:56:32AM -0700, Eric Wheeler wrote:
> >From: Jens Axboe <axboe@xxxxxxxxx>
> >
> >commit 77f1e0a52d26242b6c2dba019f6ebebfb9ff701e upstream
> >
> >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.
> >
> >Signed-off-by: Eric Wheeler <bfq@xxxxxxxxxxxxxxxxxx>
> >Tested-by: Kai Krakow <kai@xxxxxxxxxxx>
> >Reported-by: Paolo Valente <paolo.valente@xxxxxxxxxx>
> >Fixes: f0635b8a416e ("bfq: calculate shallow depths at init time")
> >Signed-off-by: Jens Axboe <axboe@xxxxxxxxx>
> >Cc: stable@xxxxxxxxxxxxxxx
> I wasn't clear on what was backported here, so I've queued the upstream
> version on 4.19 and 4.14, it doesn't seem to be relevant to older
> branches.

Thanks Sasha. We needed it for 4.19, I wasn't sure how far it would patch
back so I left the version off. BFQ was merged in 4.12 iirc, so if it
patched against 4.14, then 4.19 and 4.14 are the only ones that need it.

Eric Wheeler

> --
> Thanks,
> Sasha