1
0
Files
linux/debian/patches/patchset-zen/sauce/0014-block-Clean-up-elevator_set_default.patch

40 lines
1.2 KiB
Diff

From 9d0d6a80618eca3c985f2307971455d6c8ae9fe7 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Sat, 2 Aug 2025 04:36:06 +0200
Subject: block: Clean up elevator_set_default
In case of a multi-queue device, the code pointlessly loaded the
default elevator just to drop it again.
---
block/elevator.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -737,17 +737,18 @@ void elevator_set_default(struct request
* have multiple queues or mq-deadline is not available, default
* to "none".
*/
+ if (q->nr_hw_queues != 1 && !blk_mq_is_shared_tags(q->tag_set->flags))
+ return;
+
e = elevator_find_get(ctx.name);
if (!e)
return;
- if ((q->nr_hw_queues == 1 ||
- blk_mq_is_shared_tags(q->tag_set->flags))) {
- err = elevator_change(q, &ctx);
- if (err < 0)
- pr_warn("\"%s\" elevator initialization, failed %d, falling back to \"none\"\n",
- ctx.name, err);
- }
+ err = elevator_change(q, &ctx);
+ if (err < 0)
+ pr_warn("\"%s\" elevator initialization, failed %d, falling back to \"none\"\n",
+ ctx.name, err);
+
elevator_put(e);
}