diff options
author | Rik van Riel <[email protected]> | 2024-05-07 09:18:58 -0400 |
---|---|---|
committer | Andrew Morton <[email protected]> | 2024-05-11 15:51:44 -0700 |
commit | 5cbcb62dddf5346077feb82b7b0c9254222d3445 (patch) | |
tree | aad879165860d3672e7ecfa11720d7cc73578890 | |
parent | 0a73eac1ed10097d1799c10dff2172605fd40c75 (diff) |
fs/proc: fix softlockup in __read_vmcore
While taking a kernel core dump with makedumpfile on a larger system,
softlockup messages often appear.
While softlockup warnings can be harmless, they can also interfere with
things like RCU freeing memory, which can be problematic when the kdump
kexec image is configured with as little memory as possible.
Avoid the softlockup, and give things like work items and RCU a chance to
do their thing during __read_vmcore by adding a cond_resched.
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Rik van Riel <[email protected]>
Acked-by: Baoquan He <[email protected]>
Cc: Dave Young <[email protected]>
Cc: Vivek Goyal <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
-rw-r--r-- | fs/proc/vmcore.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/proc/vmcore.c b/fs/proc/vmcore.c index 5d08d4d159d3..b52d85f8ad59 100644 --- a/fs/proc/vmcore.c +++ b/fs/proc/vmcore.c @@ -383,6 +383,8 @@ static ssize_t __read_vmcore(struct iov_iter *iter, loff_t *fpos) /* leave now if filled buffer already */ if (!iov_iter_count(iter)) return acc; + + cond_resched(); } list_for_each_entry(m, &vmcore_list, list) { |