On Wed, Aug 16 2023 at 18:06, Z. qiang wrote: >> On Wed, Aug 16, 2023 at 1:09 PM Z qiang <qiang.zhang1211@xxxxxxxxx> wrote: >> > You can replace rcu_state.jiffies_stall update by setting rcu_cpu_stall_suppress >> > in rcu_cpu_stall_reset(), and reset rcu_cpu_stall_suppress in rcu_gp_init() and >> > rcu_gp_cleanup(). >> What's the advantage compared with updating jiffies? Updating jiffies >> seems more straight forward. >> > > In do_update_jiffies_64(), need to acquire jiffies_lock raw spinlock, > like you said, kgdb is not the only caller of rcu_cpu_stall_reset(), > the rcu_cpu_stall_reset() maybe invoke in NMI (arch/x86/platform/uv/uv_nmi.c) What's worse is that KGDB can set breakpoints pretty much everywhere and there is no guarantee that the jiffies lock is not held when a breakpoint hits. Thanks, tglx