* [GIT PULL rcu/next] RCU commits for 4.2
@ 2015-05-31 4:48 Paul E. McKenney
2015-06-02 6:31 ` Ingo Molnar
0 siblings, 1 reply; 3+ messages in thread
From: Paul E. McKenney @ 2015-05-31 4:48 UTC (permalink / raw)
To: mingo
Cc: linux-kernel, will.deacon, milos, joe, pdaly,
nicolas.iooss_linux, hofrat, ying.xue, paul.gortmaker,
bobby.prani, alexey.kodanev
Hello, Ingo,
The changes in this series include the following:
1. Remove all uses of RCU-protected array indexes. These were posted
to LKML at https://lkml.org/lkml/2015/5/12/827.
2. Documentation updates. These were posted to LKML at
https://lkml.org/lkml/2015/5/12/848.
3. Miscellaneous fixes. These were posted to LKML at
https://lkml.org/lkml/2015/5/12/876.
4. CPU-hotplug updates. These were posted to LKML at
https://lkml.org/lkml/2015/5/12/880.
5. Initialization/Kconfig updates. These were posted to LKML at
https://lkml.org/lkml/2015/5/12/918, however, the updates to
Tree RCU's initialization have been deferred to 4.3.
6. Updates to Tiny RCU. These were posted to LKML at
https://lkml.org/lkml/2015/5/12/957.
7. Torture-testing updates. These were posted to LKML at
https://lkml.org/lkml/2015/5/12/964.
All of these changes have been subjected to -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 0868aa22167d93dd974c253d259c3e6fd47a16c8:
Merge branches 'array.2015.05.27a', 'doc.2015.05.27a', 'fixes.2015.05.27a', 'hotplug.2015.05.27a', 'init.2015.05.27a', 'tiny.2015.05.27a' and 'torture.2015.05.27a' into HEAD (2015-05-27 13:00:49 -0700)
----------------------------------------------------------------
Alexey Kodanev (1):
locktorture: fix deadlock in 'rw_lock_irq' type
Joe Perches (1):
rcu: tree_plugin: Use bool function return values of true/false not 1/0
Milos Vyletel (1):
documentation: State that rcu_dereference() reloads pointer
Nicholas Mc Guire (1):
rcu: Change function declaration to bool
Nicolas Iooss (1):
rcu: Make rcu_*_data variables static
Patrick Daly (1):
rcu: Fix missing task information during rcu-preempt stall
Paul E. McKenney (51):
rcu: Convert ACCESS_ONCE() to READ_ONCE() and WRITE_ONCE()
mce: Stop using array-index-based RCU primitives
rcu: Eliminate array-index-based RCU primitives
documentation: RCU-protected array indexes no longer supported
mce: mce_chrdev_write() can be static
documentation: Update rcu_dereference.txt based on WG21 discussions
rcu: Convert from rcu_preempt_state to *rcu_state_p
rcu: Eliminate a few RCU_BOOST #ifdefs in favor of IS_ENABLED()
rcu: Tell the compiler that rcu_state_p is immutable
rcu: Create an immutable rcu_data_p pointer to default rcu_data structure
rcu: Eliminate a few CONFIG_RCU_NOCB_CPU_ALL #ifdefs
rcu: Force wakeup of rcu_gp_kthread at grace-period end
powerpc: Fix smp_mb__before_spinlock()
rcu: Add more debug info on "kthread starved" RCU CPU stall warnings
smp: Make control dependencies work on Alpha, improve documentation
rcu: Make synchronize_sched_expedited() call wait_rcu_gp()
rcu: Eliminate HOTPLUG_CPU #ifdef in favor of IS_ENABLED()
rcu: Adjust ->lock acquisition for tasks no longer migrating
rcu: Remove dead code from force_qs_rnp()
rcu: Remove redundant offline check
rcu: Correctly initialize ->rcu_qs_ctr_snap at online time
cpu: Handle smpboot_unpark_threads() uniformly
rcu: Modulate grace-period slow init to normalize delay
rcu: Shut up spurious gcc uninitialized-variable warning
rcu: Provide diagnostic option to slow down grace-period scans
rcu: Directly drive TASKS_RCU from Kconfig
rcu: Directly drive RCU_USER_QS from Kconfig
rcu: Convert CONFIG_RCU_FANOUT_EXACT to boot parameter
rcu: Enable diagnostic dump of rcu_node combining tree
rcu: Create RCU_EXPERT Kconfig and hide booleans behind it
rcu: Break dependency of RCU_FANOUT_LEAF on RCU_FANOUT
rcu: Make RCU able to tolerate undefined CONFIG_RCU_FANOUT
rcu: Make RCU able to tolerate undefined CONFIG_RCU_FANOUT_LEAF
rcu: Make RCU able to tolerate undefined CONFIG_RCU_KTHREAD_PRIO
rcu: Conditionally compile RCU's eqs warnings
rcu: Further shrink Tiny RCU by making empty functions static inlines
rcutorture: Test both RCU-sched and RCU-bh for Tiny RCU
rcu: Correctly handle non-empty Tiny RCU callback list with none ready
rcutorture: Exchange TREE03 and TREE04 geometries
rcutorture: Exchange TREE03 and TREE08 NR_CPUS, speed up CPU hotplug
rcutorture: Allow negative values of nreaders to oversubscribe
locktorture: Change longdelay_us to longdelay_ms
rcutorture: Replace barriers with smp_store_release() and smp_load_acquire()
rcutorture: Test SRCU cleanup code path
rcutorture: TASKS_RCU set directly, so don't explicitly set it
rcutorture: Update configuration fragments for rcutree.rcu_fanout_exact
rcutorture: Make rcutorture scripts force RCU_EXPERT
rcutorture: Update TREE_RCU-kconfig.txt
rcutorture: Display "make oldconfig" errors
rcutorture: Allow repetition factors in Kconfig-fragment lists
Merge branches 'array.2015.05.27a', 'doc.2015.05.27a', 'fixes.2015.05.27a', 'hotplug.2015.05.27a', 'init.2015.05.27a', 'tiny.2015.05.27a' and 'torture.2015.05.27a' into HEAD
Paul Gortmaker (1):
cpu: Remove new instance of __cpuinit that crept back in
Pranith Kumar (1):
rcu: Remove prompt for RCU implementation
Will Deacon (1):
documentation: memory-barriers: Fix smp_mb__before_spinlock() semantics
Ying Xue (1):
rculist: Fix another sparse warning
Documentation/RCU/arrayRCU.txt | 20 +-
Documentation/RCU/lockdep.txt | 10 -
Documentation/RCU/rcu_dereference.txt | 38 +--
Documentation/RCU/whatisRCU.txt | 6 +-
Documentation/kernel-parameters.txt | 33 +-
Documentation/memory-barriers.txt | 62 ++--
arch/powerpc/include/asm/barrier.h | 1 +
arch/x86/kernel/cpu/mcheck/mce.c | 15 +-
include/linux/compiler.h | 16 +
include/linux/rculist.h | 10 +-
include/linux/rcupdate.h | 70 +---
include/linux/rcutiny.h | 16 +
include/linux/rcutree.h | 7 +-
include/linux/spinlock.h | 2 +-
init/Kconfig | 72 ++--
kernel/cpu.c | 4 +-
kernel/events/ring_buffer.c | 2 +-
kernel/locking/locktorture.c | 14 +-
kernel/rcu/rcutorture.c | 103 ++++--
kernel/rcu/srcu.c | 10 +-
kernel/rcu/tiny.c | 38 +--
kernel/rcu/tiny_plugin.h | 12 +-
kernel/rcu/tree.c | 365 ++++++++++++---------
kernel/rcu/tree.h | 35 +-
kernel/rcu/tree_plugin.h | 216 ++++++------
kernel/rcu/tree_trace.c | 6 +-
kernel/rcu/update.c | 30 +-
kernel/torture.c | 26 +-
lib/Kconfig.debug | 66 +++-
.../testing/selftests/rcutorture/bin/configinit.sh | 2 +-
.../selftests/rcutorture/bin/kvm-recheck.sh | 4 +
tools/testing/selftests/rcutorture/bin/kvm.sh | 25 +-
.../selftests/rcutorture/configs/rcu/CFcommon | 2 +
.../selftests/rcutorture/configs/rcu/SRCU-N | 1 +
.../selftests/rcutorture/configs/rcu/SRCU-P | 1 +
.../selftests/rcutorture/configs/rcu/SRCU-P.boot | 2 +-
.../selftests/rcutorture/configs/rcu/TASKS01 | 5 +-
.../selftests/rcutorture/configs/rcu/TASKS02 | 1 -
.../selftests/rcutorture/configs/rcu/TASKS03 | 2 +-
.../selftests/rcutorture/configs/rcu/TINY02 | 2 +-
.../selftests/rcutorture/configs/rcu/TINY02.boot | 1 +
.../selftests/rcutorture/configs/rcu/TREE01 | 1 +
.../selftests/rcutorture/configs/rcu/TREE02 | 2 +-
.../selftests/rcutorture/configs/rcu/TREE02-T | 1 -
.../selftests/rcutorture/configs/rcu/TREE03 | 8 +-
.../selftests/rcutorture/configs/rcu/TREE03.boot | 1 +
.../selftests/rcutorture/configs/rcu/TREE04 | 8 +-
.../selftests/rcutorture/configs/rcu/TREE05 | 4 +-
.../selftests/rcutorture/configs/rcu/TREE06 | 4 +-
.../selftests/rcutorture/configs/rcu/TREE06.boot | 1 +
.../selftests/rcutorture/configs/rcu/TREE07 | 4 +-
.../selftests/rcutorture/configs/rcu/TREE08 | 6 +-
.../selftests/rcutorture/configs/rcu/TREE08-T | 1 -
.../selftests/rcutorture/configs/rcu/TREE08-T.boot | 1 +
.../selftests/rcutorture/configs/rcu/TREE08.boot | 1 +
.../selftests/rcutorture/configs/rcu/TREE09 | 1 +
.../selftests/rcutorture/doc/TREE_RCU-kconfig.txt | 36 +-
57 files changed, 809 insertions(+), 624 deletions(-)
create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TREE03.boot
create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TREE08-T.boot
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [GIT PULL rcu/next] RCU commits for 4.2
2015-05-31 4:48 [GIT PULL rcu/next] RCU commits for 4.2 Paul E. McKenney
@ 2015-06-02 6:31 ` Ingo Molnar
2015-06-02 12:36 ` Paul E. McKenney
0 siblings, 1 reply; 3+ messages in thread
From: Ingo Molnar @ 2015-06-02 6:31 UTC (permalink / raw)
To: Paul E. McKenney
Cc: linux-kernel, will.deacon, milos, joe, pdaly,
nicolas.iooss_linux, hofrat, ying.xue, paul.gortmaker,
bobby.prani, alexey.kodanev
* Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
> Hello, Ingo,
>
> The changes in this series include the following:
>
> 1. Remove all uses of RCU-protected array indexes. These were posted
> to LKML at https://lkml.org/lkml/2015/5/12/827.
>
> 2. Documentation updates. These were posted to LKML at
> https://lkml.org/lkml/2015/5/12/848.
>
> 3. Miscellaneous fixes. These were posted to LKML at
> https://lkml.org/lkml/2015/5/12/876.
>
> 4. CPU-hotplug updates. These were posted to LKML at
> https://lkml.org/lkml/2015/5/12/880.
>
> 5. Initialization/Kconfig updates. These were posted to LKML at
> https://lkml.org/lkml/2015/5/12/918, however, the updates to
> Tree RCU's initialization have been deferred to 4.3.
>
> 6. Updates to Tiny RCU. These were posted to LKML at
> https://lkml.org/lkml/2015/5/12/957.
>
> 7. Torture-testing updates. These were posted to LKML at
> https://lkml.org/lkml/2015/5/12/964.
>
> All of these changes have been subjected to -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 0868aa22167d93dd974c253d259c3e6fd47a16c8:
>
> Merge branches 'array.2015.05.27a', 'doc.2015.05.27a', 'fixes.2015.05.27a', 'hotplug.2015.05.27a', 'init.2015.05.27a', 'tiny.2015.05.27a' and 'torture.2015.05.27a' into HEAD (2015-05-27 13:00:49 -0700)
>
> ----------------------------------------------------------------
>
> Alexey Kodanev (1):
> locktorture: fix deadlock in 'rw_lock_irq' type
>
> Joe Perches (1):
> rcu: tree_plugin: Use bool function return values of true/false not 1/0
>
> Milos Vyletel (1):
> documentation: State that rcu_dereference() reloads pointer
>
> Nicholas Mc Guire (1):
> rcu: Change function declaration to bool
>
> Nicolas Iooss (1):
> rcu: Make rcu_*_data variables static
>
> Patrick Daly (1):
> rcu: Fix missing task information during rcu-preempt stall
>
> Paul E. McKenney (51):
> rcu: Convert ACCESS_ONCE() to READ_ONCE() and WRITE_ONCE()
> mce: Stop using array-index-based RCU primitives
> rcu: Eliminate array-index-based RCU primitives
> documentation: RCU-protected array indexes no longer supported
> mce: mce_chrdev_write() can be static
> documentation: Update rcu_dereference.txt based on WG21 discussions
> rcu: Convert from rcu_preempt_state to *rcu_state_p
> rcu: Eliminate a few RCU_BOOST #ifdefs in favor of IS_ENABLED()
> rcu: Tell the compiler that rcu_state_p is immutable
> rcu: Create an immutable rcu_data_p pointer to default rcu_data structure
> rcu: Eliminate a few CONFIG_RCU_NOCB_CPU_ALL #ifdefs
> rcu: Force wakeup of rcu_gp_kthread at grace-period end
> powerpc: Fix smp_mb__before_spinlock()
> rcu: Add more debug info on "kthread starved" RCU CPU stall warnings
> smp: Make control dependencies work on Alpha, improve documentation
> rcu: Make synchronize_sched_expedited() call wait_rcu_gp()
> rcu: Eliminate HOTPLUG_CPU #ifdef in favor of IS_ENABLED()
> rcu: Adjust ->lock acquisition for tasks no longer migrating
> rcu: Remove dead code from force_qs_rnp()
> rcu: Remove redundant offline check
> rcu: Correctly initialize ->rcu_qs_ctr_snap at online time
> cpu: Handle smpboot_unpark_threads() uniformly
> rcu: Modulate grace-period slow init to normalize delay
> rcu: Shut up spurious gcc uninitialized-variable warning
> rcu: Provide diagnostic option to slow down grace-period scans
> rcu: Directly drive TASKS_RCU from Kconfig
> rcu: Directly drive RCU_USER_QS from Kconfig
> rcu: Convert CONFIG_RCU_FANOUT_EXACT to boot parameter
> rcu: Enable diagnostic dump of rcu_node combining tree
> rcu: Create RCU_EXPERT Kconfig and hide booleans behind it
> rcu: Break dependency of RCU_FANOUT_LEAF on RCU_FANOUT
> rcu: Make RCU able to tolerate undefined CONFIG_RCU_FANOUT
> rcu: Make RCU able to tolerate undefined CONFIG_RCU_FANOUT_LEAF
> rcu: Make RCU able to tolerate undefined CONFIG_RCU_KTHREAD_PRIO
> rcu: Conditionally compile RCU's eqs warnings
> rcu: Further shrink Tiny RCU by making empty functions static inlines
> rcutorture: Test both RCU-sched and RCU-bh for Tiny RCU
> rcu: Correctly handle non-empty Tiny RCU callback list with none ready
> rcutorture: Exchange TREE03 and TREE04 geometries
> rcutorture: Exchange TREE03 and TREE08 NR_CPUS, speed up CPU hotplug
> rcutorture: Allow negative values of nreaders to oversubscribe
> locktorture: Change longdelay_us to longdelay_ms
> rcutorture: Replace barriers with smp_store_release() and smp_load_acquire()
> rcutorture: Test SRCU cleanup code path
> rcutorture: TASKS_RCU set directly, so don't explicitly set it
> rcutorture: Update configuration fragments for rcutree.rcu_fanout_exact
> rcutorture: Make rcutorture scripts force RCU_EXPERT
> rcutorture: Update TREE_RCU-kconfig.txt
> rcutorture: Display "make oldconfig" errors
> rcutorture: Allow repetition factors in Kconfig-fragment lists
> Merge branches 'array.2015.05.27a', 'doc.2015.05.27a', 'fixes.2015.05.27a', 'hotplug.2015.05.27a', 'init.2015.05.27a', 'tiny.2015.05.27a' and 'torture.2015.05.27a' into HEAD
>
> Paul Gortmaker (1):
> cpu: Remove new instance of __cpuinit that crept back in
>
> Pranith Kumar (1):
> rcu: Remove prompt for RCU implementation
>
> Will Deacon (1):
> documentation: memory-barriers: Fix smp_mb__before_spinlock() semantics
>
> Ying Xue (1):
> rculist: Fix another sparse warning
>
> Documentation/RCU/arrayRCU.txt | 20 +-
> Documentation/RCU/lockdep.txt | 10 -
> Documentation/RCU/rcu_dereference.txt | 38 +--
> Documentation/RCU/whatisRCU.txt | 6 +-
> Documentation/kernel-parameters.txt | 33 +-
> Documentation/memory-barriers.txt | 62 ++--
> arch/powerpc/include/asm/barrier.h | 1 +
> arch/x86/kernel/cpu/mcheck/mce.c | 15 +-
> include/linux/compiler.h | 16 +
> include/linux/rculist.h | 10 +-
> include/linux/rcupdate.h | 70 +---
> include/linux/rcutiny.h | 16 +
> include/linux/rcutree.h | 7 +-
> include/linux/spinlock.h | 2 +-
> init/Kconfig | 72 ++--
> kernel/cpu.c | 4 +-
> kernel/events/ring_buffer.c | 2 +-
> kernel/locking/locktorture.c | 14 +-
> kernel/rcu/rcutorture.c | 103 ++++--
> kernel/rcu/srcu.c | 10 +-
> kernel/rcu/tiny.c | 38 +--
> kernel/rcu/tiny_plugin.h | 12 +-
> kernel/rcu/tree.c | 365 ++++++++++++---------
> kernel/rcu/tree.h | 35 +-
> kernel/rcu/tree_plugin.h | 216 ++++++------
> kernel/rcu/tree_trace.c | 6 +-
> kernel/rcu/update.c | 30 +-
> kernel/torture.c | 26 +-
> lib/Kconfig.debug | 66 +++-
> .../testing/selftests/rcutorture/bin/configinit.sh | 2 +-
> .../selftests/rcutorture/bin/kvm-recheck.sh | 4 +
> tools/testing/selftests/rcutorture/bin/kvm.sh | 25 +-
> .../selftests/rcutorture/configs/rcu/CFcommon | 2 +
> .../selftests/rcutorture/configs/rcu/SRCU-N | 1 +
> .../selftests/rcutorture/configs/rcu/SRCU-P | 1 +
> .../selftests/rcutorture/configs/rcu/SRCU-P.boot | 2 +-
> .../selftests/rcutorture/configs/rcu/TASKS01 | 5 +-
> .../selftests/rcutorture/configs/rcu/TASKS02 | 1 -
> .../selftests/rcutorture/configs/rcu/TASKS03 | 2 +-
> .../selftests/rcutorture/configs/rcu/TINY02 | 2 +-
> .../selftests/rcutorture/configs/rcu/TINY02.boot | 1 +
> .../selftests/rcutorture/configs/rcu/TREE01 | 1 +
> .../selftests/rcutorture/configs/rcu/TREE02 | 2 +-
> .../selftests/rcutorture/configs/rcu/TREE02-T | 1 -
> .../selftests/rcutorture/configs/rcu/TREE03 | 8 +-
> .../selftests/rcutorture/configs/rcu/TREE03.boot | 1 +
> .../selftests/rcutorture/configs/rcu/TREE04 | 8 +-
> .../selftests/rcutorture/configs/rcu/TREE05 | 4 +-
> .../selftests/rcutorture/configs/rcu/TREE06 | 4 +-
> .../selftests/rcutorture/configs/rcu/TREE06.boot | 1 +
> .../selftests/rcutorture/configs/rcu/TREE07 | 4 +-
> .../selftests/rcutorture/configs/rcu/TREE08 | 6 +-
> .../selftests/rcutorture/configs/rcu/TREE08-T | 1 -
> .../selftests/rcutorture/configs/rcu/TREE08-T.boot | 1 +
> .../selftests/rcutorture/configs/rcu/TREE08.boot | 1 +
> .../selftests/rcutorture/configs/rcu/TREE09 | 1 +
> .../selftests/rcutorture/doc/TREE_RCU-kconfig.txt | 36 +-
> 57 files changed, 809 insertions(+), 624 deletions(-)
> create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TREE03.boot
> create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TREE08-T.boot
Pulled, thanks a lot Paul!
I am wondering about the following small detail. You have reworked the whole RCU
Kconfig machinery with the introduction of RCU_EXPERT and smart selection of
defaults. (very nice!)
There's a single interactive option left when a user configures RCU 'anew' and
keeps CONFIG_RCU_EXPERT disabled:
Offload RCU callback processing from boot-selected CPUs (RCU_NOCB_CPU) [N/y/?] (NEW)
I'm wondering whether we could put this behind CONFIG_RCU_EXPERT as well, and
disable it by default?
The argument for this is very simple IMHO: NO_HZ_FULL depends on nocb_cpu support,
and actually selects it, so there's no way to misconfigure it.
Without NO_HZ_FULL it might still make sense to use nocb_cpu, but it's very much
an advanced, expert option.
With this change we could make RCU essentially configuration free in the common
case! :-)
Thanks,
Ingo
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [GIT PULL rcu/next] RCU commits for 4.2
2015-06-02 6:31 ` Ingo Molnar
@ 2015-06-02 12:36 ` Paul E. McKenney
0 siblings, 0 replies; 3+ messages in thread
From: Paul E. McKenney @ 2015-06-02 12:36 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, will.deacon, milos, joe, pdaly,
nicolas.iooss_linux, hofrat, ying.xue, paul.gortmaker,
bobby.prani, alexey.kodanev
On Tue, Jun 02, 2015 at 08:31:53AM +0200, Ingo Molnar wrote:
> * Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
>
> > Hello, Ingo,
> >
> > The changes in this series include the following:
> >
> > 1. Remove all uses of RCU-protected array indexes. These were posted
> > to LKML at https://lkml.org/lkml/2015/5/12/827.
> >
> > 2. Documentation updates. These were posted to LKML at
> > https://lkml.org/lkml/2015/5/12/848.
> >
> > 3. Miscellaneous fixes. These were posted to LKML at
> > https://lkml.org/lkml/2015/5/12/876.
> >
> > 4. CPU-hotplug updates. These were posted to LKML at
> > https://lkml.org/lkml/2015/5/12/880.
> >
> > 5. Initialization/Kconfig updates. These were posted to LKML at
> > https://lkml.org/lkml/2015/5/12/918, however, the updates to
> > Tree RCU's initialization have been deferred to 4.3.
> >
> > 6. Updates to Tiny RCU. These were posted to LKML at
> > https://lkml.org/lkml/2015/5/12/957.
> >
> > 7. Torture-testing updates. These were posted to LKML at
> > https://lkml.org/lkml/2015/5/12/964.
[ . . . ]
> Pulled, thanks a lot Paul!
>
> I am wondering about the following small detail. You have reworked the whole RCU
> Kconfig machinery with the introduction of RCU_EXPERT and smart selection of
> defaults. (very nice!)
>
> There's a single interactive option left when a user configures RCU 'anew' and
> keeps CONFIG_RCU_EXPERT disabled:
>
> Offload RCU callback processing from boot-selected CPUs (RCU_NOCB_CPU) [N/y/?] (NEW)
>
> I'm wondering whether we could put this behind CONFIG_RCU_EXPERT as well, and
> disable it by default?
>
> The argument for this is very simple IMHO: NO_HZ_FULL depends on nocb_cpu support,
> and actually selects it, so there's no way to misconfigure it.
>
> Without NO_HZ_FULL it might still make sense to use nocb_cpu, but it's very much
> an advanced, expert option.
>
> With this change we could make RCU essentially configuration free in the common
> case! :-)
And the -rt folks could presumably add a select clause as well, where
needed. And I cannot recall a specific reason for not doing so. I have
queued the following patch, so let's see how it goes. ;-)
Thanx, Paul
------------------------------------------------------------------------
rcu: Hide RCU_NOCB_CPU behind RCU_EXPERT
This commit prevents Kconfig from asking the user about RCU_NOCB_CPU
unless the user really wants to be asked.
Reported-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
diff --git a/init/Kconfig b/init/Kconfig
index 5b8726c10685..67a0156fa091 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -697,6 +697,7 @@ config RCU_BOOST_DELAY
config RCU_NOCB_CPU
bool "Offload RCU callback processing from boot-selected CPUs"
depends on TREE_RCU || PREEMPT_RCU
+ depends on RCU_EXPERT
default n
help
Use this option to reduce OS jitter for aggressive HPC or
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-06-02 12:36 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-31 4:48 [GIT PULL rcu/next] RCU commits for 4.2 Paul E. McKenney
2015-06-02 6:31 ` Ingo Molnar
2015-06-02 12:36 ` Paul E. McKenney
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).