aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/kernel/smp.c
diff options
context:
space:
mode:
authorImran Khan <imran.f.khan@oracle.com>2023-05-09 08:31:23 +1000
committerPaul E. McKenney <paulmck@kernel.org>2023-07-10 14:19:04 -0700
commit5bd00f6db012f75b42434d39b7fec98b95c1afcc (patch)
treef538ea2bf968a283895aaffd3eab88b0ef3f0dd1 /kernel/smp.c
parentLinux 6.5-rc1 (diff)
downloadwireguard-linux-5bd00f6db012f75b42434d39b7fec98b95c1afcc.tar.xz
wireguard-linux-5bd00f6db012f75b42434d39b7fec98b95c1afcc.zip
smp: Reduce logging due to dump_stack of CSD waiters
If a waiter is waiting for CSD lock, its call stack will not change between first and subsequent hang detection for the same CSD lock. Therefore, do dump_stack only for first-time detection for a given waiter. This avoids excessive logging on systems with hundreds of CPUs where repetitive dump_stack from hundreds of CPUs would otherwise flood the console. Signed-off-by: Imran Khan <imran.f.khan@oracle.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Juergen Gross <jgross@suse.com> Cc: Valentin Schneider <vschneid@redhat.com> Cc: Yury Norov <yury.norov@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'kernel/smp.c')
-rw-r--r--kernel/smp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/smp.c b/kernel/smp.c
index 385179dae360..1d41a0cb54f1 100644
--- a/kernel/smp.c
+++ b/kernel/smp.c
@@ -259,7 +259,8 @@ static bool csd_lock_wait_toolong(struct __call_single_data *csd, u64 ts0, u64 *
arch_send_call_function_single_ipi(cpu);
}
}
- dump_stack();
+ if (firsttime)
+ dump_stack();
*ts1 = ts2;
return false;