diff options
author | Imran Khan <imran.f.khan@oracle.com> | 2023-05-09 00:31:23 +0200 |
---|---|---|
committer | Paul E. McKenney <paulmck@kernel.org> | 2023-07-10 23:19:04 +0200 |
commit | 5bd00f6db012f75b42434d39b7fec98b95c1afcc (patch) | |
tree | f538ea2bf968a283895aaffd3eab88b0ef3f0dd1 /kernel/smp.c | |
parent | Linux 6.5-rc1 (diff) | |
download | linux-5bd00f6db012f75b42434d39b7fec98b95c1afcc.tar.xz 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.c | 3 |
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; |