2022-03-08 08:11:05

by Khazhismel Kumykov

[permalink] [raw]
Subject: [PATCH] bfq: default slice_idle to 0 for SSD

This improves performance on SSDs dramatically, and was default for CFQ

Signed-off-by: Khazhismel Kumykov <[email protected]>
---
block/bfq-iosched.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index 36a66e97e3c2..f3196036940c 100644
--- a/block/bfq-iosched.c
+++ b/block/bfq-iosched.c
@@ -7105,7 +7105,8 @@ static int bfq_init_queue(struct request_queue *q, struct elevator_type *e)
bfqd->bfq_fifo_expire[1] = bfq_fifo_expire[1];
bfqd->bfq_back_max = bfq_back_max;
bfqd->bfq_back_penalty = bfq_back_penalty;
- bfqd->bfq_slice_idle = bfq_slice_idle;
+ /* Default to no idling for SSDs */
+ bfqd->bfq_slice_idle = blk_queue_nonrot(q) ? 0 : bfq_slice_idle;
bfqd->bfq_timeout = bfq_timeout;

bfqd->bfq_large_burst_thresh = 8;
--
2.35.1.616.g0bdcbb4464-goog


2022-03-08 14:31:15

by Paolo Valente

[permalink] [raw]
Subject: Re: [PATCH] bfq: default slice_idle to 0 for SSD



> Il giorno 8 mar 2022, alle ore 01:02, Khazhismel Kumykov <[email protected]> ha scritto:
>
> This improves performance on SSDs dramatically, and was default for CFQ
>

Ho,
unfortunately it is unacceptable, because it simply switches BFQ off with sync I/O.

Thanks,
Paolo

> Signed-off-by: Khazhismel Kumykov <[email protected]>
> ---
> block/bfq-iosched.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
> index 36a66e97e3c2..f3196036940c 100644
> --- a/block/bfq-iosched.c
> +++ b/block/bfq-iosched.c
> @@ -7105,7 +7105,8 @@ static int bfq_init_queue(struct request_queue *q, struct elevator_type *e)
> bfqd->bfq_fifo_expire[1] = bfq_fifo_expire[1];
> bfqd->bfq_back_max = bfq_back_max;
> bfqd->bfq_back_penalty = bfq_back_penalty;
> - bfqd->bfq_slice_idle = bfq_slice_idle;
> + /* Default to no idling for SSDs */
> + bfqd->bfq_slice_idle = blk_queue_nonrot(q) ? 0 : bfq_slice_idle;
> bfqd->bfq_timeout = bfq_timeout;
>
> bfqd->bfq_large_burst_thresh = 8;
> --
> 2.35.1.616.g0bdcbb4464-goog
>