diff mbox series

bfq: default slice_idle to 0 for SSD

Message ID 20220308000253.645107-1-khazhy@google.com (mailing list archive)
State New, archived
Headers show
Series bfq: default slice_idle to 0 for SSD | expand

Commit Message

Khazhy Kumykov March 8, 2022, 12:02 a.m. UTC
This improves performance on SSDs dramatically, and was default for CFQ

Signed-off-by: Khazhismel Kumykov <khazhy@google.com>
---
 block/bfq-iosched.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Paolo Valente March 8, 2022, 9:12 a.m. UTC | #1
> Il giorno 8 mar 2022, alle ore 01:02, Khazhismel Kumykov <khazhy@google.com> 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 <khazhy@google.com>
> ---
> 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
>
diff mbox series

Patch

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;