aboutsummaryrefslogtreecommitdiffstats
path: root/block/kyber-iosched.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2018-05-09 19:55:14 (GMT)
committerJens Axboe <axboe@kernel.dk>2018-05-10 17:27:46 (GMT)
commit2882064076c80ed643fe9c78ed7d493446bc5e0d (patch)
treef27605d4dae13ed67258486c80c0f261a2fd0c1d /block/kyber-iosched.c
parent483b7bf2e40233657713279b6f98a9225ea0ff84 (diff)
downloadkernel_replicant_linux-2882064076c80ed643fe9c78ed7d493446bc5e0d.zip
kernel_replicant_linux-2882064076c80ed643fe9c78ed7d493446bc5e0d.tar.gz
kernel_replicant_linux-2882064076c80ed643fe9c78ed7d493446bc5e0d.tar.bz2
kyber-iosched: update shallow depth when setting up hardware queue
We don't expect the async depth to be smaller than the wake batch count for sbitmap, but just in case, inform sbitmap of what shallow depth kyber may use. Acked-by: Paolo Valente <paolo.valente@linaro.org> Reviewed-by: Omar Sandoval <osandov@fb.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/kyber-iosched.c')
-rw-r--r--block/kyber-iosched.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/block/kyber-iosched.c b/block/kyber-iosched.c
index 564967f..5b33dc3 100644
--- a/block/kyber-iosched.c
+++ b/block/kyber-iosched.c
@@ -378,6 +378,7 @@ static void kyber_exit_sched(struct elevator_queue *e)
static int kyber_init_hctx(struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx)
{
+ struct kyber_queue_data *kqd = hctx->queue->elevator->elevator_data;
struct kyber_hctx_data *khd;
int i;
@@ -400,6 +401,8 @@ static int kyber_init_hctx(struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx)
khd->batching = 0;
hctx->sched_data = khd;
+ sbitmap_queue_min_shallow_depth(&hctx->sched_tags->bitmap_tags,
+ kqd->async_depth);
return 0;
}