From: Imran Khan <imran.f.khan@oracle.com> Date: Mon, 8 May 2023 22:31:23 +0000 (+1000) Subject: smp: Reduce logging due to dump_stack of CSD waiters X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=5bd00f6db012f75b42434d39b7fec98b95c1afcc;p=linux.git 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> --- diff --git a/kernel/smp.c b/kernel/smp.c index 385179dae360e..1d41a0cb54f16 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;