1. 12 Jul, 2018 38 commits
  2. 26 Jun, 2018 2 commits
    • Paul E. McKenney's avatar
      rcu: Exclude near-simultaneous RCU CPU stall warnings · 8c42b1f3
      Paul E. McKenney authored
      There is a two-jiffy delay between the time that a CPU will self-report
      an RCU CPU stall warning and the time that some other CPU will report a
      warning on behalf of the first CPU.  This has worked well in the past,
      but on busy systems, it is possible for the two warnings to overlap,
      which makes interpreting them extremely difficult.
      
      This commit therefore uses a cmpxchg-based timing decision that
      allows only one report in a given one-minute period (assuming default
      stall-warning Kconfig parameters).  This approach will of course fail
      if you are seeing minute-long vCPU preemption, but in that case the
      overlapping RCU CPU stall warnings are the least of your worries.
      Reported-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      8c42b1f3
    • Boqun Feng's avatar
      rcu: Use the proper lockdep annotation in dump_blkd_tasks() · ce11fae8
      Boqun Feng authored
      Sparse reported this:
      
      | kernel/rcu/tree_plugin.h:814:9: warning: incorrect type in argument 1 (different modifiers)
      | kernel/rcu/tree_plugin.h:814:9:    expected struct lockdep_map const *lock
      | kernel/rcu/tree_plugin.h:814:9:    got struct lockdep_map [noderef] *<noident>
      
      This is caused by using vanilla lockdep annotations on rcu_node::lock,
      and that requires accessing ->lock of rcu_node directly. However we need
      to keep rcu_node::lock __private to avoid breaking its extra ordering
      guarantee. And we have a dedicated lockdep annotation for
      rcu_node::lock, so use it.
      Signed-off-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      ce11fae8