Re: possible deadlock in smp_call_function_many_cond

Thomas Gleixner
2025-07-24T09:36:14Z

On Thu, Jul 24 2025 at 15:55, 胡焜 wrote:

Please do not top-post and trim your replies:

https://people.kernel.org/tglx/notes-about-netiquette

> My guess is that the crash point might be csd_lock_wait(csd) in
> ~/kernel/smp.c on line 885. Here the other CPUs are notified via IPI
> to execute flush_tlb_mm_range and enter spin wait. However, it has not
> yet been determined which CPU performed the operation that caused the
> IPI to return a timeout.

Guessing is not a proper engineering method :)

> I'll first provide the log that was reproduced in 6.16-rc4. we'll re-verify it on rc7.

> [ 0.000000][ T0] Linux version 6.16.0-rc4 (qjj@qjj-Standard-PC-Q35-ICH9-2009) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1 SMP PREEMPT_DYNAMIC Wed Jul 2 09:53:03 CST 2025
>
> [ 0.000000][ T0] Command line: root=/dev/sda console=ttyS0 ftrace_dump_on_oops hrtimer_expire_entry hrtimer_expire_exit trace_event=ipi_entry,ipi_exit,irq_handler_entry,irq_handler_exit

Please remove the silly extra new-lines next time.
>
> [ 0.427302][ T0] Unknown kernel command line parameters "hrtimer_expire_entry hrtimer_expire_exit spec_store_bypass_disable=prctl nbds_max=32", will be passed to user space.

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
How is this helpful?