]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Drop queue-4.14/loop-select-i-o-scheduler-none-from-inside-add_disk.patch
authorSasha Levin <sashal@kernel.org>
Sun, 6 Aug 2023 14:21:13 +0000 (10:21 -0400)
committerSasha Levin <sashal@kernel.org>
Sun, 6 Aug 2023 14:21:13 +0000 (10:21 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-4.14/loop-select-i-o-scheduler-none-from-inside-add_disk.patch [deleted file]

diff --git a/queue-4.14/loop-select-i-o-scheduler-none-from-inside-add_disk.patch b/queue-4.14/loop-select-i-o-scheduler-none-from-inside-add_disk.patch
deleted file mode 100644 (file)
index e49971c..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-From 2112f5c1330a671fa852051d85cb9eadc05d7eb7 Mon Sep 17 00:00:00 2001
-From: Bart Van Assche <bvanassche@acm.org>
-Date: Thu, 5 Aug 2021 10:42:00 -0700
-Subject: loop: Select I/O scheduler 'none' from inside add_disk()
-
-From: Bart Van Assche <bvanassche@acm.org>
-
-commit 2112f5c1330a671fa852051d85cb9eadc05d7eb7 upstream.
-
-We noticed that the user interface of Android devices becomes very slow
-under memory pressure. This is because Android uses the zram driver on top
-of the loop driver for swapping, because under memory pressure the swap
-code alternates reads and writes quickly, because mq-deadline is the
-default scheduler for loop devices and because mq-deadline delays writes by
-five seconds for such a workload with default settings. Fix this by making
-the kernel select I/O scheduler 'none' from inside add_disk() for loop
-devices. This default can be overridden at any time from user space,
-e.g. via a udev rule. This approach has an advantage compared to changing
-the I/O scheduler from userspace from 'mq-deadline' into 'none', namely
-that synchronize_rcu() does not get called.
-
-This patch changes the default I/O scheduler for loop devices from
-'mq-deadline' into 'none'.
-
-Additionally, this patch reduces the Android boot time on my test setup
-with 0.5 seconds compared to configuring the loop I/O scheduler from user
-space.
-
-Cc: Christoph Hellwig <hch@lst.de>
-Cc: Ming Lei <ming.lei@redhat.com>
-Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
-Cc: Martijn Coenen <maco@android.com>
-Cc: Jaegeuk Kim <jaegeuk@kernel.org>
-Signed-off-by: Bart Van Assche <bvanassche@acm.org>
-Link: https://lore.kernel.org/r/20210805174200.3250718-3-bvanassche@acm.org
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/block/loop.c |    3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/drivers/block/loop.c
-+++ b/drivers/block/loop.c
-@@ -1846,7 +1846,8 @@ static int loop_add(struct loop_device *
-       lo->tag_set.queue_depth = 128;
-       lo->tag_set.numa_node = NUMA_NO_NODE;
-       lo->tag_set.cmd_size = sizeof(struct loop_cmd);
--      lo->tag_set.flags = BLK_MQ_F_SHOULD_MERGE | BLK_MQ_F_SG_MERGE;
-+      lo->tag_set.flags = BLK_MQ_F_SHOULD_MERGE | BLK_MQ_F_SG_MERGE |
-+              BLK_MQ_F_NO_SCHED_BY_DEFAULT;
-       lo->tag_set.driver_data = lo;
-       err = blk_mq_alloc_tag_set(&lo->tag_set);