]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 30 Dec 2024 08:43:01 +0000 (09:43 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 30 Dec 2024 08:43:01 +0000 (09:43 +0100)
added patches:
btrfs-avoid-monopolizing-a-core-when-activating-a-swap-file.patch

queue-5.4/btrfs-avoid-monopolizing-a-core-when-activating-a-swap-file.patch [new file with mode: 0644]
queue-5.4/series

diff --git a/queue-5.4/btrfs-avoid-monopolizing-a-core-when-activating-a-swap-file.patch b/queue-5.4/btrfs-avoid-monopolizing-a-core-when-activating-a-swap-file.patch
new file mode 100644 (file)
index 0000000..6aed9b3
--- /dev/null
@@ -0,0 +1,34 @@
+From 2c8507c63f5498d4ee4af404a8e44ceae4345056 Mon Sep 17 00:00:00 2001
+From: Filipe Manana <fdmanana@suse.com>
+Date: Mon, 9 Dec 2024 16:43:44 +0000
+Subject: btrfs: avoid monopolizing a core when activating a swap file
+
+From: Filipe Manana <fdmanana@suse.com>
+
+commit 2c8507c63f5498d4ee4af404a8e44ceae4345056 upstream.
+
+During swap activation we iterate over the extents of a file and we can
+have many thousands of them, so we can end up in a busy loop monopolizing
+a core. Avoid this by doing a voluntary reschedule after processing each
+extent.
+
+CC: stable@vger.kernel.org # 5.4+
+Reviewed-by: Qu Wenruo <wqu@suse.com>
+Signed-off-by: Filipe Manana <fdmanana@suse.com>
+Signed-off-by: David Sterba <dsterba@suse.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ fs/btrfs/inode.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/fs/btrfs/inode.c
++++ b/fs/btrfs/inode.c
+@@ -7679,6 +7679,8 @@ noinline int can_nocow_extent(struct ino
+                       ret = -EAGAIN;
+                       goto out;
+               }
++
++              cond_resched();
+       }
+       btrfs_release_path(path);
index 0e5ddb8af8b968ea844b0abb88871c86c36dfd28..910b531ed5d736d7862d3e1e7976eac6d2e224a9 100644 (file)
@@ -56,3 +56,4 @@ ipv6-use-skb_expand_head-in-ip6_xmit.patch
 ipv6-fix-possible-uaf-in-ip6_finish_output2.patch
 bpf-fix-recursive-lock-when-verdict-program-return-s.patch
 tracing-constify-string-literal-data-member-in-struct-trace_event_call.patch
+btrfs-avoid-monopolizing-a-core-when-activating-a-swap-file.patch