Messages in this thread | | | From | Thomas Gleixner <> | Subject | Re: [PATCH V4 2/2] rcu: Update jiffies in rcu_cpu_stall_reset() | Date | Wed, 23 Aug 2023 23:36:44 +0200 |
| |
On Wed, Aug 16 2023 at 18:06, Z. qiang wrote: >> On Wed, Aug 16, 2023 at 1:09 PM Z qiang <qiang.zhang1211@gmail.com> 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
| |