Re: [GIT PULL rcu/next] RCU commits for 4.12

2017-04-23 Thread Ingo Molnar

* Paul E. McKenney  wrote:

> Hello, Ingo,
> 
> This pull request contains the following changes:
> 
> 1.Documentation updates.
> 
>   http://lkml.kernel.org/r/20170412163956.ga15...@linux.vnet.ibm.com
> 
> 2.Miscellaneous fixes.
> 
>   http://lkml.kernel.org/r/20170417232714.ga19...@linux.vnet.ibm.com
> 
> 3.Parallelize SRCU callback handling (plus overlapping patches).
> 
>   http://lkml.kernel.org/r/20170419165805.gb10...@linux.vnet.ibm.com
> 
>   http://lkml.kernel.org/r/87zifatu3a@concordia.ellerman.id.au
> 
> All of these changes have been subjected to 0day Test Robot and -next
> testing, and are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git 
> for-mingo
> 
> for you to fetch changes up to f2094107ac82bf867184efd77cee30b6a98e2e20:
> 
>   Merge branches 'doc.2017.04.12a', 'fixes.2017.04.19a' and 
> 'srcu.2017.04.21a' into HEAD (2017-04-21 06:00:13 -0700)
> 
> 
> Dmitry Vyukov (1):
>   rcu: Fix warning in rcu_seq_end()
> 
> Michael S. Tsirkin (1):
>   hlist_add_tail_rcu disable sparse warning
> 
> Michalis Kokologiannakis (1):
>   doc: Update the comparisons rule in rcu_dereference.txt
> 
> Nicholas Mc Guire (2):
>   rcu: Use bool value directly
>   rcu: Use true/false in assignment to bool
> 
> Paul E. McKenney (56):
>   doc: Synchronous RCU grace periods are now legal throughout boot
>   doc: Add mid-boot operation to expedited grace periods
>   doc: Update stallwarn.txt to make causes more prominent
>   doc: Update RCU data-structure documentation for rcu_segcblist
>   doc: Update requirements based on recent changes
>   doc: Update rcu_assign_pointer() definition in whatisRCU.txt
>   doc: Emphasize that "toy" RCU requires recursive rwlock
>   rcu: Maintain special bits at bottom of ->dynticks counter
>   rcu: Make arch select smp_mb__after_unlock_lock() strength
>   srcu: Consolidate batch checking into rcu_all_batches_empty()
>   srcu: Check for tardy grace-period activity in cleanup_srcu_struct()
>   rcu: Semicolon inside RCU_TRACE() for rcu.h
>   rcu: Semicolon inside RCU_TRACE() for Tiny RCU
>   rcu: Semicolon inside RCU_TRACE() for tree.c
>   rcu: Pull rcu_sched_qs_mask into rcu_dynticks structure
>   rcu: Pull rcu_qs_ctr into rcu_dynticks structure
>   rcu: Eliminate flavor scan in rcu_momentary_dyntick_idle()
>   rcu: Place guard on rcu_all_qs() and rcu_note_context_switch() actions
>   rcu: Default RCU_FANOUT_LEAF to 16 unless explicitly changed
>   srcu: Abstract multi-tail callback list handling
>   srcu: Allow SRCU to access rcu_scheduler_active
>   srcu: Allow early boot use of synchronize_srcu()
>   rcu: Add single-element dequeue functions to rcu_segcblist
>   srcu: Move rcu_seq_start() and friends to rcu.h
>   rcu: Expedited wakeups need to be fully ordered
>   srcu: Push srcu_advance_batches() fastpath into common case
>   srcu: Move to state-based grace-period sequencing
>   srcu: Add grace-period sequence numbers
>   srcu: Use rcu_segcblist to track SRCU callbacks
>   srcu: Move combining-tree definitions for SRCU's benefit
>   srcu: Move rcu_init_levelspread() to rcu_tree_node.h
>   rcu: Remove redundant levelcnt[] array from rcu_init_one()
>   srcu: Move rcu_node traversal macros to rcu.h
>   srcu: Make num_rcu_lvl[] array be external
>   srcu: Fix bogus try_check_zero() comment
>   srcu: Improve rcu_seq grace-period-counter abstraction
>   srcu: Allow a second bit in rcu_seq for SRCU state
>   srcu: Merge ->srcu_state into ->srcu_gp_seq
>   srcu: Crude control of expedited grace periods
>   mm: Use static initialization for "srcu"
>   srcu: Create a tiny SRCU
>   srcutorture: Print Tiny SRCU reader statistics
>   srcu: Introduce CLASSIC_SRCU Kconfig option
>   mm: Rename SLAB_DESTROY_BY_RCU to SLAB_TYPESAFE_BY_RCU
>   lockdep: Use "WARNING" tag on lockdep splats
>   types: Update obsolete callback_head comment
>   rcu: Make RCU_FANOUT_LEAF help text more explicit about skew_tick
>   rcu: Remove obsolete comment from rcu_future_gp_cleanup() header
>   rcu: Improve comments for hotplug/suspend/hibernate functions
>   torture: Use correct path for Kconfig fragment for duplicates
>   rcu: Fix typo in PER_RCU_NODE_PERIOD header comment
>   kvm: Move srcu_struct fields to end of struct kvm
>   srcu: Parallelize callback handling
>   srcu: Expedite srcu_schedule_cbs_snp() callback invocation
>   rcu: Make non-preemptive schedule be Tasks RCU quiescent state
>   Merge branches 'doc.2017.04.12a', 'fixes.2017.04.19a' and 
> 'srcu.2017.04.21a' into HEAD
> 
> pierre Kuo (1):
>   doc: Update control-dependencies section of memory-barriers.txt
> 
>  

Re: [GIT PULL rcu/next] RCU commits for 4.12

2017-04-23 Thread Ingo Molnar

* Paul E. McKenney  wrote:

> Hello, Ingo,
> 
> This pull request contains the following changes:
> 
> 1.Documentation updates.
> 
>   http://lkml.kernel.org/r/20170412163956.ga15...@linux.vnet.ibm.com
> 
> 2.Miscellaneous fixes.
> 
>   http://lkml.kernel.org/r/20170417232714.ga19...@linux.vnet.ibm.com
> 
> 3.Parallelize SRCU callback handling (plus overlapping patches).
> 
>   http://lkml.kernel.org/r/20170419165805.gb10...@linux.vnet.ibm.com
> 
>   http://lkml.kernel.org/r/87zifatu3a@concordia.ellerman.id.au
> 
> All of these changes have been subjected to 0day Test Robot and -next
> testing, and are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git 
> for-mingo
> 
> for you to fetch changes up to f2094107ac82bf867184efd77cee30b6a98e2e20:
> 
>   Merge branches 'doc.2017.04.12a', 'fixes.2017.04.19a' and 
> 'srcu.2017.04.21a' into HEAD (2017-04-21 06:00:13 -0700)
> 
> 
> Dmitry Vyukov (1):
>   rcu: Fix warning in rcu_seq_end()
> 
> Michael S. Tsirkin (1):
>   hlist_add_tail_rcu disable sparse warning
> 
> Michalis Kokologiannakis (1):
>   doc: Update the comparisons rule in rcu_dereference.txt
> 
> Nicholas Mc Guire (2):
>   rcu: Use bool value directly
>   rcu: Use true/false in assignment to bool
> 
> Paul E. McKenney (56):
>   doc: Synchronous RCU grace periods are now legal throughout boot
>   doc: Add mid-boot operation to expedited grace periods
>   doc: Update stallwarn.txt to make causes more prominent
>   doc: Update RCU data-structure documentation for rcu_segcblist
>   doc: Update requirements based on recent changes
>   doc: Update rcu_assign_pointer() definition in whatisRCU.txt
>   doc: Emphasize that "toy" RCU requires recursive rwlock
>   rcu: Maintain special bits at bottom of ->dynticks counter
>   rcu: Make arch select smp_mb__after_unlock_lock() strength
>   srcu: Consolidate batch checking into rcu_all_batches_empty()
>   srcu: Check for tardy grace-period activity in cleanup_srcu_struct()
>   rcu: Semicolon inside RCU_TRACE() for rcu.h
>   rcu: Semicolon inside RCU_TRACE() for Tiny RCU
>   rcu: Semicolon inside RCU_TRACE() for tree.c
>   rcu: Pull rcu_sched_qs_mask into rcu_dynticks structure
>   rcu: Pull rcu_qs_ctr into rcu_dynticks structure
>   rcu: Eliminate flavor scan in rcu_momentary_dyntick_idle()
>   rcu: Place guard on rcu_all_qs() and rcu_note_context_switch() actions
>   rcu: Default RCU_FANOUT_LEAF to 16 unless explicitly changed
>   srcu: Abstract multi-tail callback list handling
>   srcu: Allow SRCU to access rcu_scheduler_active
>   srcu: Allow early boot use of synchronize_srcu()
>   rcu: Add single-element dequeue functions to rcu_segcblist
>   srcu: Move rcu_seq_start() and friends to rcu.h
>   rcu: Expedited wakeups need to be fully ordered
>   srcu: Push srcu_advance_batches() fastpath into common case
>   srcu: Move to state-based grace-period sequencing
>   srcu: Add grace-period sequence numbers
>   srcu: Use rcu_segcblist to track SRCU callbacks
>   srcu: Move combining-tree definitions for SRCU's benefit
>   srcu: Move rcu_init_levelspread() to rcu_tree_node.h
>   rcu: Remove redundant levelcnt[] array from rcu_init_one()
>   srcu: Move rcu_node traversal macros to rcu.h
>   srcu: Make num_rcu_lvl[] array be external
>   srcu: Fix bogus try_check_zero() comment
>   srcu: Improve rcu_seq grace-period-counter abstraction
>   srcu: Allow a second bit in rcu_seq for SRCU state
>   srcu: Merge ->srcu_state into ->srcu_gp_seq
>   srcu: Crude control of expedited grace periods
>   mm: Use static initialization for "srcu"
>   srcu: Create a tiny SRCU
>   srcutorture: Print Tiny SRCU reader statistics
>   srcu: Introduce CLASSIC_SRCU Kconfig option
>   mm: Rename SLAB_DESTROY_BY_RCU to SLAB_TYPESAFE_BY_RCU
>   lockdep: Use "WARNING" tag on lockdep splats
>   types: Update obsolete callback_head comment
>   rcu: Make RCU_FANOUT_LEAF help text more explicit about skew_tick
>   rcu: Remove obsolete comment from rcu_future_gp_cleanup() header
>   rcu: Improve comments for hotplug/suspend/hibernate functions
>   torture: Use correct path for Kconfig fragment for duplicates
>   rcu: Fix typo in PER_RCU_NODE_PERIOD header comment
>   kvm: Move srcu_struct fields to end of struct kvm
>   srcu: Parallelize callback handling
>   srcu: Expedite srcu_schedule_cbs_snp() callback invocation
>   rcu: Make non-preemptive schedule be Tasks RCU quiescent state
>   Merge branches 'doc.2017.04.12a', 'fixes.2017.04.19a' and 
> 'srcu.2017.04.21a' into HEAD
> 
> pierre Kuo (1):
>   doc: Update control-dependencies section of memory-barriers.txt
> 
>  Documentation/RCU/00-INDEX  

[GIT PULL rcu/next] RCU commits for 4.12

2017-04-21 Thread Paul E. McKenney
Hello, Ingo,

This pull request contains the following changes:

1.  Documentation updates.

http://lkml.kernel.org/r/20170412163956.ga15...@linux.vnet.ibm.com

2.  Miscellaneous fixes.

http://lkml.kernel.org/r/20170417232714.ga19...@linux.vnet.ibm.com

3.  Parallelize SRCU callback handling (plus overlapping patches).

http://lkml.kernel.org/r/20170419165805.gb10...@linux.vnet.ibm.com

http://lkml.kernel.org/r/87zifatu3a@concordia.ellerman.id.au

All of these changes have been subjected to 0day Test Robot and -next
testing, and are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git for-mingo

for you to fetch changes up to f2094107ac82bf867184efd77cee30b6a98e2e20:

  Merge branches 'doc.2017.04.12a', 'fixes.2017.04.19a' and 'srcu.2017.04.21a' 
into HEAD (2017-04-21 06:00:13 -0700)


Dmitry Vyukov (1):
  rcu: Fix warning in rcu_seq_end()

Michael S. Tsirkin (1):
  hlist_add_tail_rcu disable sparse warning

Michalis Kokologiannakis (1):
  doc: Update the comparisons rule in rcu_dereference.txt

Nicholas Mc Guire (2):
  rcu: Use bool value directly
  rcu: Use true/false in assignment to bool

Paul E. McKenney (56):
  doc: Synchronous RCU grace periods are now legal throughout boot
  doc: Add mid-boot operation to expedited grace periods
  doc: Update stallwarn.txt to make causes more prominent
  doc: Update RCU data-structure documentation for rcu_segcblist
  doc: Update requirements based on recent changes
  doc: Update rcu_assign_pointer() definition in whatisRCU.txt
  doc: Emphasize that "toy" RCU requires recursive rwlock
  rcu: Maintain special bits at bottom of ->dynticks counter
  rcu: Make arch select smp_mb__after_unlock_lock() strength
  srcu: Consolidate batch checking into rcu_all_batches_empty()
  srcu: Check for tardy grace-period activity in cleanup_srcu_struct()
  rcu: Semicolon inside RCU_TRACE() for rcu.h
  rcu: Semicolon inside RCU_TRACE() for Tiny RCU
  rcu: Semicolon inside RCU_TRACE() for tree.c
  rcu: Pull rcu_sched_qs_mask into rcu_dynticks structure
  rcu: Pull rcu_qs_ctr into rcu_dynticks structure
  rcu: Eliminate flavor scan in rcu_momentary_dyntick_idle()
  rcu: Place guard on rcu_all_qs() and rcu_note_context_switch() actions
  rcu: Default RCU_FANOUT_LEAF to 16 unless explicitly changed
  srcu: Abstract multi-tail callback list handling
  srcu: Allow SRCU to access rcu_scheduler_active
  srcu: Allow early boot use of synchronize_srcu()
  rcu: Add single-element dequeue functions to rcu_segcblist
  srcu: Move rcu_seq_start() and friends to rcu.h
  rcu: Expedited wakeups need to be fully ordered
  srcu: Push srcu_advance_batches() fastpath into common case
  srcu: Move to state-based grace-period sequencing
  srcu: Add grace-period sequence numbers
  srcu: Use rcu_segcblist to track SRCU callbacks
  srcu: Move combining-tree definitions for SRCU's benefit
  srcu: Move rcu_init_levelspread() to rcu_tree_node.h
  rcu: Remove redundant levelcnt[] array from rcu_init_one()
  srcu: Move rcu_node traversal macros to rcu.h
  srcu: Make num_rcu_lvl[] array be external
  srcu: Fix bogus try_check_zero() comment
  srcu: Improve rcu_seq grace-period-counter abstraction
  srcu: Allow a second bit in rcu_seq for SRCU state
  srcu: Merge ->srcu_state into ->srcu_gp_seq
  srcu: Crude control of expedited grace periods
  mm: Use static initialization for "srcu"
  srcu: Create a tiny SRCU
  srcutorture: Print Tiny SRCU reader statistics
  srcu: Introduce CLASSIC_SRCU Kconfig option
  mm: Rename SLAB_DESTROY_BY_RCU to SLAB_TYPESAFE_BY_RCU
  lockdep: Use "WARNING" tag on lockdep splats
  types: Update obsolete callback_head comment
  rcu: Make RCU_FANOUT_LEAF help text more explicit about skew_tick
  rcu: Remove obsolete comment from rcu_future_gp_cleanup() header
  rcu: Improve comments for hotplug/suspend/hibernate functions
  torture: Use correct path for Kconfig fragment for duplicates
  rcu: Fix typo in PER_RCU_NODE_PERIOD header comment
  kvm: Move srcu_struct fields to end of struct kvm
  srcu: Parallelize callback handling
  srcu: Expedite srcu_schedule_cbs_snp() callback invocation
  rcu: Make non-preemptive schedule be Tasks RCU quiescent state
  Merge branches 'doc.2017.04.12a', 'fixes.2017.04.19a' and 
'srcu.2017.04.21a' into HEAD

pierre Kuo (1):
  doc: Update control-dependencies section of memory-barriers.txt

 Documentation/RCU/00-INDEX |   2 +-
 .../Design/Data-Structures/Data-Structures.html| 233 +++--
 .../RCU/Design/Data-Structures/nxtlist.svg |  34 +-
 .../Expedited-Grace-Periods.html   |  47 +-
 

[GIT PULL rcu/next] RCU commits for 4.12

2017-04-21 Thread Paul E. McKenney
Hello, Ingo,

This pull request contains the following changes:

1.  Documentation updates.

http://lkml.kernel.org/r/20170412163956.ga15...@linux.vnet.ibm.com

2.  Miscellaneous fixes.

http://lkml.kernel.org/r/20170417232714.ga19...@linux.vnet.ibm.com

3.  Parallelize SRCU callback handling (plus overlapping patches).

http://lkml.kernel.org/r/20170419165805.gb10...@linux.vnet.ibm.com

http://lkml.kernel.org/r/87zifatu3a@concordia.ellerman.id.au

All of these changes have been subjected to 0day Test Robot and -next
testing, and are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git for-mingo

for you to fetch changes up to f2094107ac82bf867184efd77cee30b6a98e2e20:

  Merge branches 'doc.2017.04.12a', 'fixes.2017.04.19a' and 'srcu.2017.04.21a' 
into HEAD (2017-04-21 06:00:13 -0700)


Dmitry Vyukov (1):
  rcu: Fix warning in rcu_seq_end()

Michael S. Tsirkin (1):
  hlist_add_tail_rcu disable sparse warning

Michalis Kokologiannakis (1):
  doc: Update the comparisons rule in rcu_dereference.txt

Nicholas Mc Guire (2):
  rcu: Use bool value directly
  rcu: Use true/false in assignment to bool

Paul E. McKenney (56):
  doc: Synchronous RCU grace periods are now legal throughout boot
  doc: Add mid-boot operation to expedited grace periods
  doc: Update stallwarn.txt to make causes more prominent
  doc: Update RCU data-structure documentation for rcu_segcblist
  doc: Update requirements based on recent changes
  doc: Update rcu_assign_pointer() definition in whatisRCU.txt
  doc: Emphasize that "toy" RCU requires recursive rwlock
  rcu: Maintain special bits at bottom of ->dynticks counter
  rcu: Make arch select smp_mb__after_unlock_lock() strength
  srcu: Consolidate batch checking into rcu_all_batches_empty()
  srcu: Check for tardy grace-period activity in cleanup_srcu_struct()
  rcu: Semicolon inside RCU_TRACE() for rcu.h
  rcu: Semicolon inside RCU_TRACE() for Tiny RCU
  rcu: Semicolon inside RCU_TRACE() for tree.c
  rcu: Pull rcu_sched_qs_mask into rcu_dynticks structure
  rcu: Pull rcu_qs_ctr into rcu_dynticks structure
  rcu: Eliminate flavor scan in rcu_momentary_dyntick_idle()
  rcu: Place guard on rcu_all_qs() and rcu_note_context_switch() actions
  rcu: Default RCU_FANOUT_LEAF to 16 unless explicitly changed
  srcu: Abstract multi-tail callback list handling
  srcu: Allow SRCU to access rcu_scheduler_active
  srcu: Allow early boot use of synchronize_srcu()
  rcu: Add single-element dequeue functions to rcu_segcblist
  srcu: Move rcu_seq_start() and friends to rcu.h
  rcu: Expedited wakeups need to be fully ordered
  srcu: Push srcu_advance_batches() fastpath into common case
  srcu: Move to state-based grace-period sequencing
  srcu: Add grace-period sequence numbers
  srcu: Use rcu_segcblist to track SRCU callbacks
  srcu: Move combining-tree definitions for SRCU's benefit
  srcu: Move rcu_init_levelspread() to rcu_tree_node.h
  rcu: Remove redundant levelcnt[] array from rcu_init_one()
  srcu: Move rcu_node traversal macros to rcu.h
  srcu: Make num_rcu_lvl[] array be external
  srcu: Fix bogus try_check_zero() comment
  srcu: Improve rcu_seq grace-period-counter abstraction
  srcu: Allow a second bit in rcu_seq for SRCU state
  srcu: Merge ->srcu_state into ->srcu_gp_seq
  srcu: Crude control of expedited grace periods
  mm: Use static initialization for "srcu"
  srcu: Create a tiny SRCU
  srcutorture: Print Tiny SRCU reader statistics
  srcu: Introduce CLASSIC_SRCU Kconfig option
  mm: Rename SLAB_DESTROY_BY_RCU to SLAB_TYPESAFE_BY_RCU
  lockdep: Use "WARNING" tag on lockdep splats
  types: Update obsolete callback_head comment
  rcu: Make RCU_FANOUT_LEAF help text more explicit about skew_tick
  rcu: Remove obsolete comment from rcu_future_gp_cleanup() header
  rcu: Improve comments for hotplug/suspend/hibernate functions
  torture: Use correct path for Kconfig fragment for duplicates
  rcu: Fix typo in PER_RCU_NODE_PERIOD header comment
  kvm: Move srcu_struct fields to end of struct kvm
  srcu: Parallelize callback handling
  srcu: Expedite srcu_schedule_cbs_snp() callback invocation
  rcu: Make non-preemptive schedule be Tasks RCU quiescent state
  Merge branches 'doc.2017.04.12a', 'fixes.2017.04.19a' and 
'srcu.2017.04.21a' into HEAD

pierre Kuo (1):
  doc: Update control-dependencies section of memory-barriers.txt

 Documentation/RCU/00-INDEX |   2 +-
 .../Design/Data-Structures/Data-Structures.html| 233 +++--
 .../RCU/Design/Data-Structures/nxtlist.svg |  34 +-
 .../Expedited-Grace-Periods.html   |  47 +-