1. 12 Jul, 2018 35 commits
  2. 26 Jun, 2018 3 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
    • Paul E. McKenney's avatar
      rcu: Add debugging info to assertion · 4bc8d555
      Paul E. McKenney authored
      The WARN_ON_ONCE(rcu_preempt_blocked_readers_cgp()) in
      rcu_gp_cleanup() triggers (inexplicably, of course) every so often.
      This commit therefore extracts more information.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      4bc8d555
  3. 25 Jun, 2018 2 commits
    • Paul E. McKenney's avatar
      torture: Keep old-school dmesg format · 60500037
      Paul E. McKenney authored
      This commit adds "#define pr_fmt(fmt) fmt" to the torture-test files
      in order to keep the current dmesg format.  Once Joe's commits have
      hit mainline, these definitions will be changed in order to automatically
      generate the dmesg line prefix that the scripts expect.  This will have
      the beneficial side-effect of allowing printk() formats to be used more
      widely and of shortening some pr_*() lines.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Joe Perches <joe@perches.com>
      60500037
    • Paul E. McKenney's avatar
      torture: Make online/offline messages appear only for verbose=2 · 90127d60
      Paul E. McKenney authored
      Some bugs reproduce quickly only at high CPU-hotplug rates, so the
      rcutorture TREE03 scenario now has only 200 milliseconds spacing between
      CPU-hotplug operations.  At this rate, the torture-test pair of console
      messages per operation becomes a bit voluminous.  This commit therefore
      converts the torture-test set of "verbose" kernel-boot arguments from
      bool to int, and prints the extra console messages only when verbose=2.
      The default is still verbose=1.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      90127d60