All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] RCU changes for v5.4
@ 2019-09-16 11:26 Ingo Molnar
  2019-09-17  1:00 ` pr-tracker-bot
  0 siblings, 1 reply; 2+ messages in thread
From: Ingo Molnar @ 2019-09-16 11:26 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, Paul E. McKenney, Peter Zijlstra, Thomas Gleixner,
	Andrew Morton

Linus,

Please pull the latest core-rcu-for-linus git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core-rcu-for-linus

   # HEAD: 4a0fa886ab79ea85e8d1be2b0df143d8249779be Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu

This cycle's RCU changes were:

 - A few more RCU flavor consolidation cleanups.

 - Updates to RCU's list-traversal macros improving lockdep usability.

 - Forward-progress improvements for no-CBs CPUs: Avoid ignoring
   incoming callbacks during grace-period waits.

 - Forward-progress improvements for no-CBs CPUs: Use ->cblist
   structure to take advantage of others' grace periods.

 - Also added a small commit that avoids needlessly inflicting
   scheduler-clock ticks on callback-offloaded CPUs.

 - Forward-progress improvements for no-CBs CPUs: Reduce contention
   on ->nocb_lock guarding ->cblist.

 - Forward-progress improvements for no-CBs CPUs: Add ->nocb_bypass
   list to further reduce contention on ->nocb_lock guarding ->cblist.

 - Miscellaneous fixes.

 - Torture-test updates.

 - minor LKMM updates.

There's a linecount increase as a result of these changes:

 49 files changed, 1480 insertions(+), 786 deletions(-)

Of the +~700 lines increase, roughly half are documentation and 
diagnostics, the other half new code such as better queueing latencies 
for no-CBs CPUs.

Note that a somewhat non-standard merge commit slipped into the LKMM 
portions:

  07f038a408fb: Merge LKMM and RCU commits

We'll use a more standard merge commit format in the future.

 Thanks,

	Ingo

------------------>
Andrea Parri (2):
      tools/memory-model: Update the informal documentation
      MAINTAINERS: Update e-mail address for Andrea Parri

Byungchul Park (1):
      rcu: Change return type of rcu_spawn_one_boost_kthread()

Christoph Hellwig (1):
      rcu: Don't include <linux/ktime.h> in rcutiny.h

Denis Efremov (1):
      torture: Remove exporting of internal functions

Eric Dumazet (1):
      rcu: Allow rcu_do_batch() to dynamically adjust batch sizes

Joel Fernandes (Google) (11):
      rcu: Simplify rcu_note_context_switch exit from critical section
      treewide: Rename rcu_dereference_raw_notrace() to _check()
      rcu: Remove redundant debug_locks check in rcu_read_lock_sched_held()
      rcuperf: Make rcuperf kernel test more robust for !expedited mode
      tools/memory-model: Use cumul-fence instead of fence in ->prop example
      rcu: Add support for consolidated-RCU reader checking
      rcu/sync: Remove custom check for RCU readers
      ipv4: Add lockdep condition to fix for_each_entry()
      driver/core: Convert to use built-in RCU list checking
      x86/pci: Pass lockdep condition to pcm_mmcfg_list iterator
      acpi: Use built-in RCU list checking for acpi_ioremaps list

Mukesh Ojha (1):
      rcu: Fix spelling mistake "greate"->"great"

Paul E. McKenney (66):
      tools/memory-model: Make scripts be executable
      rcu: Simplify rcu_read_unlock_special() deferred wakeups
      rcu: Make rcu_read_unlock_special() checks match raise_softirq_irqoff()
      lockdep: Make print_lock() address visible
      time/tick-broadcast: Fix tick_broadcast_offline() lockdep complaint
      rcu: Restore barrier() to rcu_read_lock() and rcu_read_unlock()
      rcu: Add kernel parameter to dump trace after RCU CPU stall warning
      rcu: Add destroy_work_on_stack() to match INIT_WORK_ONSTACK()
      srcu: Avoid srcutorture security-based pointer obfuscation
      doc: Add rcutree.kthread_prio pointer to stallwarn.txt
      torture: Expand last_ts variable in kvm-test-1-run.sh
      rcutorture: Test TREE03 with the threadirqs kernel boot parameter
      rcutorture: Emulate userspace sojourn during call_rcu() floods
      rcutorture: Aggressive forward-progress tests shouldn't block shutdown
      rcu: Remove redundant "if" condition from rcu_gp_is_expedited()
      arm: Use common outgoing-CPU-notification code
      rcu/nocb: Rename rcu_data fields to prepare for forward-progress work
      rcu/nocb: Update comments to prepare for forward-progress work
      rcu/nocb: Provide separate no-CBs grace-period kthreads
      rcu/nocb: Rename nocb_follower_wait() to nocb_cb_wait()
      rcu/nocb: Rename wake_nocb_leader() to wake_nocb_gp()
      rcu/nocb: Rename __wake_nocb_leader() to __wake_nocb_gp()
      rcu/nocb: Rename wake_nocb_leader_defer() to wake_nocb_gp_defer()
      rcu/nocb: Rename rcu_organize_nocb_kthreads() local variable
      rcu/nocb: Rename and document no-CB CB kthread sleep trace event
      rcu/nocb: Rename rcu_nocb_leader_stride kernel boot parameter
      rcu/nocb: Print gp/cb kthread hierarchy if dump_tree
      rcu/nocb: Use separate flag to indicate disabled ->cblist
      rcu/nocb: Use separate flag to indicate offloaded ->cblist
      rcu/nocb: Add checks for offloaded callback processing
      rcu/nocb: Make rcutree_migrate_callbacks() start at leaf rcu_node structure
      rcu/nocb: Check for deferred nocb wakeups before nohz_full early exit
      rcu/nocb: Remove deferred wakeup checks for extended quiescent states
      rcu/nocb: Allow lockless use of rcu_segcblist_restempty()
      rcu/nocb: Allow lockless use of rcu_segcblist_empty()
      rcu/nocb: Leave ->cblist enabled for no-CBs CPUs
      rcu/nocb: Use rcu_segcblist for no-CBs CPUs
      rcu/nocb: Remove obsolete nocb_head and nocb_tail fields
      rcu/nocb: Remove obsolete nocb_q_count and nocb_q_count_lazy fields
      rcu/nocb: Remove obsolete nocb_cb_tail and nocb_cb_head fields
      rcu/nocb: Remove obsolete nocb_gp_head and nocb_gp_tail fields
      rcu/nocb: Use build-time no-CBs check in rcu_do_batch()
      rcu/nocb: Use build-time no-CBs check in rcu_core()
      rcu/nocb: Use build-time no-CBs check in rcu_pending()
      rcu/nocb: Suppress uninitialized false-positive in nocb_gp_wait()
      rcu/nohz: Turn off tick for offloaded CPUs
      rcu/nocb: Enable re-awakening under high callback load
      rcu/nocb: Never downgrade ->nocb_defer_wakeup in wake_nocb_gp_defer()
      rcu/nocb: Make __call_rcu_nocb_wake() safe for many callbacks
      rcu/nocb: Avoid needless wakeups of no-CBs grace-period kthread
      rcu/nocb: Avoid ->nocb_lock capture by corresponding CPU
      rcu/nocb: Round down for number of no-CBs grace-period kthreads
      rcu/nocb: Reduce contention at no-CBs registry-time CB advancement
      rcu/nocb: Reduce contention at no-CBs invocation-done time
      rcu/nocb: Reduce ->nocb_lock contention with separate ->nocb_gp_lock
      rcu/nocb: Unconditionally advance and wake for excessive CBs
      rcu/nocb: Atomic ->len field in rcu_segcblist structure
      rcu/nocb: Add bypass callback queueing
      rcu/nocb: EXP Check use and usefulness of ->nocb_lock_contended
      rcu/nocb: Print no-CBs diagnostics when rcutorture writer unduly delayed
      rcu/nocb: Avoid synchronous wakeup in __call_rcu_nocb_wake()
      rcu/nocb: Advance CBs after merge in rcutree_migrate_callbacks()
      rcu/nocb: Reduce nocb_cb_wait() leaf rcu_node ->lock contention
      rcu/nocb: Reduce __call_rcu_nocb_wake() leaf rcu_node ->lock contention
      rcu/nocb: Don't wake no-CBs GP kthread if timer posted under overload
      MAINTAINERS: Update from paulmck@linux.ibm.com to paulmck@kernel.org

Peter Zijlstra (1):
      idle: Prevent late-arriving interrupts from disrupting offline

Xiao Yang (1):
      rcuperf: Fix perf_type module-parameter description


 .../RCU/Design/Requirements/Requirements.html      |   73 +-
 Documentation/RCU/stallwarn.txt                    |    6 +
 Documentation/admin-guide/kernel-parameters.txt    |   17 +-
 MAINTAINERS                                        |   16 +-
 arch/arm/kernel/smp.c                              |    6 +-
 arch/powerpc/include/asm/kvm_book3s_64.h           |    2 +-
 arch/x86/pci/mmconfig-shared.c                     |    5 +-
 drivers/acpi/osl.c                                 |    6 +-
 drivers/base/base.h                                |    1 +
 drivers/base/core.c                                |   12 +
 drivers/base/power/runtime.c                       |   15 +-
 include/linux/rcu_segcblist.h                      |    9 +
 include/linux/rcu_sync.h                           |    4 +-
 include/linux/rculist.h                            |   36 +-
 include/linux/rcupdate.h                           |    9 +-
 include/linux/rcutiny.h                            |    2 +-
 include/trace/events/rcu.h                         |    4 +-
 kernel/locking/lockdep.c                           |    2 +-
 kernel/rcu/Kconfig.debug                           |   11 +
 kernel/rcu/rcu.h                                   |    1 +
 kernel/rcu/rcu_segcblist.c                         |  174 ++-
 kernel/rcu/rcu_segcblist.h                         |   54 +-
 kernel/rcu/rcuperf.c                               |   10 +-
 kernel/rcu/rcutorture.c                            |   30 +-
 kernel/rcu/srcutree.c                              |    5 +-
 kernel/rcu/tree.c                                  |  205 ++--
 kernel/rcu/tree.h                                  |   81 +-
 kernel/rcu/tree_exp.h                              |    8 +-
 kernel/rcu/tree_plugin.h                           | 1195 ++++++++++++--------
 kernel/rcu/tree_stall.h                            |    9 +
 kernel/rcu/update.c                                |  105 +-
 kernel/sched/core.c                                |   57 +-
 kernel/sched/idle.c                                |    5 +-
 kernel/torture.c                                   |    2 -
 kernel/trace/ftrace_internal.h                     |    8 +-
 kernel/trace/trace.c                               |    4 +-
 net/ipv4/fib_frontend.c                            |    3 +-
 tools/memory-model/Documentation/explanation.txt   |   53 +-
 tools/memory-model/README                          |   18 +-
 tools/memory-model/scripts/checkghlitmus.sh        |    0
 tools/memory-model/scripts/checklitmushist.sh      |    0
 tools/memory-model/scripts/cmplitmushist.sh        |    0
 tools/memory-model/scripts/initlitmushist.sh       |    0
 tools/memory-model/scripts/judgelitmus.sh          |    0
 tools/memory-model/scripts/newlitmushist.sh        |    0
 tools/memory-model/scripts/parseargs.sh            |    0
 tools/memory-model/scripts/runlitmushist.sh        |    0
 .../selftests/rcutorture/bin/kvm-test-1-run.sh     |    2 +-
 .../selftests/rcutorture/configs/rcu/TREE03.boot   |    1 +
 49 files changed, 1480 insertions(+), 786 deletions(-)
 mode change 100644 => 100755 tools/memory-model/scripts/checkghlitmus.sh
 mode change 100644 => 100755 tools/memory-model/scripts/checklitmushist.sh
 mode change 100644 => 100755 tools/memory-model/scripts/cmplitmushist.sh
 mode change 100644 => 100755 tools/memory-model/scripts/initlitmushist.sh
 mode change 100644 => 100755 tools/memory-model/scripts/judgelitmus.sh
 mode change 100644 => 100755 tools/memory-model/scripts/newlitmushist.sh
 mode change 100644 => 100755 tools/memory-model/scripts/parseargs.sh
 mode change 100644 => 100755 tools/memory-model/scripts/runlitmushist.sh


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [GIT PULL] RCU changes for v5.4
  2019-09-16 11:26 [GIT PULL] RCU changes for v5.4 Ingo Molnar
@ 2019-09-17  1:00 ` pr-tracker-bot
  0 siblings, 0 replies; 2+ messages in thread
From: pr-tracker-bot @ 2019-09-17  1:00 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Linus Torvalds, linux-kernel, Paul E. McKenney, Peter Zijlstra,
	Thomas Gleixner, Andrew Morton

The pull request you sent on Mon, 16 Sep 2019 13:26:41 +0200:

> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core-rcu-for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/94d18ee9340e00ee3455bb45661484093e3b2674

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-09-17  1:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-16 11:26 [GIT PULL] RCU changes for v5.4 Ingo Molnar
2019-09-17  1:00 ` pr-tracker-bot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.