summaryrefslogtreecommitdiff
path: root/lib/dump_stack.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2019-11-11 07:59:06 +0100
committerIngo Molnar <mingo@kernel.org>2019-11-11 07:59:06 +0100
commit1ca7feb59087a3d1a4ef79e09c42eca5c2e7fa38 (patch)
tree548d3518b41341b93c88ee4ff5661e1eb42bd7f4 /lib/dump_stack.c
parentd44f821b0e13275735e8f3fe4db8703b45f05d52 (diff)
parent31f4f5b495a62c9a8b15b1c3581acd5efeb9af8c (diff)
downloadlinux-next-1ca7feb59087a3d1a4ef79e09c42eca5c2e7fa38.tar.gz
linux-next-1ca7feb59087a3d1a4ef79e09c42eca5c2e7fa38.zip
Merge tag 'v5.4-rc7' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'lib/dump_stack.c')
-rw-r--r--lib/dump_stack.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/dump_stack.c b/lib/dump_stack.c
index 5cff72f18c4a..33ffbf308853 100644
--- a/lib/dump_stack.c
+++ b/lib/dump_stack.c
@@ -106,7 +106,12 @@ retry:
was_locked = 1;
} else {
local_irq_restore(flags);
- cpu_relax();
+ /*
+ * Wait for the lock to release before jumping to
+ * atomic_cmpxchg() in order to mitigate the thundering herd
+ * problem.
+ */
+ do { cpu_relax(); } while (atomic_read(&dump_lock) != -1);
goto retry;
}