diff options
Diffstat (limited to 'kernels/linux-libre-pae/0002-block-loop-avoiding-too-many-pending-per-work-I-O.patch')
-rw-r--r-- | kernels/linux-libre-pae/0002-block-loop-avoiding-too-many-pending-per-work-I-O.patch | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/kernels/linux-libre-pae/0002-block-loop-avoiding-too-many-pending-per-work-I-O.patch b/kernels/linux-libre-pae/0002-block-loop-avoiding-too-many-pending-per-work-I-O.patch deleted file mode 100644 index fcad0c0b9..000000000 --- a/kernels/linux-libre-pae/0002-block-loop-avoiding-too-many-pending-per-work-I-O.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 63eb7031005b6f22fc1dab9f0c29435f1b52a96b Mon Sep 17 00:00:00 2001 -From: Ming Lei <ming.lei@canonical.com> -Date: Tue, 5 May 2015 19:49:55 +0800 -Subject: [PATCH 2/2] block: loop: avoiding too many pending per work I/O - -If there are too many pending per work I/O, too many -high priority work thread can be generated so that -system performance can be effected. - -This patch limits the max_active parameter of workqueue as 16. - -This patch fixes Fedora 22 live booting performance -regression when it is booted from squashfs over dm -based on loop, and looks the following reasons are -related with the problem: - -- not like other filesyststems(such as ext4), squashfs -is a bit special, and I observed that increasing I/O jobs -to access file in squashfs only improve I/O performance a -little, but it can make big difference for ext4 - -- nested loop: both squashfs.img and ext3fs.img are mounted -as loop block, and ext3fs.img is inside the squashfs - -- during booting, lots of tasks may run concurrently - -Fixes: b5dd2f6047ca108001328aac0e8588edd15f1778 -Cc: stable@vger.kernel.org (v4.0) -Cc: Justin M. Forbes <jforbes@fedoraproject.org> -Signed-off-by: Ming Lei <ming.lei@canonical.com> -Acked-by: Tejun Heo <tj@kernel.org> -Signed-off-by: Jens Axboe <axboe@fb.com> ---- - drivers/block/loop.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/block/loop.c b/drivers/block/loop.c -index 9786aa3..cef6fa8 100644 ---- a/drivers/block/loop.c -+++ b/drivers/block/loop.c -@@ -725,7 +725,7 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode, - goto out_putf; - error = -ENOMEM; - lo->wq = alloc_workqueue("kloopd%d", -- WQ_MEM_RECLAIM | WQ_HIGHPRI | WQ_UNBOUND, 0, -+ WQ_MEM_RECLAIM | WQ_HIGHPRI | WQ_UNBOUND, 16, - lo->lo_number); - if (!lo->wq) - goto out_putf; --- -2.4.5 - |