NOCBs and NO_HZ_FULL changes for 3.18
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest14 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/14 | rcu: Fix attempt to avoid unsolicited offloading of callbacksinclude/ init/ init/ +1 more | +72 | 0 replies | |
| 2/14 | rcu: Check the return value of zalloc_cpumask_var()kernel/ | +4 | 0 replies | |
| 3/14 | rcu: Use true/false for return in __call_rcu_nocb()kernel/ | +2 | 0 replies | |
| 4/14 | rcu: Use true/false for return in rcu_nocb_adopt_orphan_cbs()kernel/ | +2 | 0 replies | |
| 5/14 | rcu: Use false for return in __call_rcu_nocb()kernel/ | +1 | 0 replies | |
| 6/14 | rcu: Return false instead of 0 in rcu_nocb_adopt_orphan_cbs()kernel/ | +1 | 0 replies | |
| 7/14 | rcu: Rationalize kthread spawningkernel/ kernel/ kernel/ | +7 | 0 replies | |
| 8/14 | rcu: Create rcuo kthreads only for onlined CPUskernel/ kernel/ kernel/ | +86 | 0 replies | |
| 9/14 | rcu: Check for have_rcu_nocb_mask instead of rcu_nocb_maskkernel/ | +3 | 0 replies | |
| 10/14 | rcu: Eliminate redundant rcu_sysidle_state variablekernel/ | +6 | 0 replies | |
| 11/14 | rcu: Don't track sysidle state if no nohz_full= CPUskernel/ | +18 | 0 replies | |
| 12/14 | rcu: Avoid misordering in __call_rcu_nocb_enqueue()kernel/ | +2 | 0 replies | |
| 13/14 | rcu: Handle NOCB callbacks from irq-disabled idle codekernel/ | +11 | 0 replies | |
| 14/14 | rcu: Avoid misordering in nocb_leader_wait()kernel/ | +1 | 0 replies |
Reviews trailers per patch
5 of 14 patches have a Reviewed-by or Acked-by.
| Patch | Pranith Kumar | Josh Triplett | Frederic Weisbecker |
|---|---|---|---|
| 1/14 | R-b | ||
| 2/14 | |||
| 3/14 | |||
| 4/14 | |||
| 5/14 | |||
| 6/14 | |||
| 7/14 | R-b | ||
| 8/14 | R-b | ||
| 9/14 | |||
| 10/14 | R-b | A-b | |
| 11/14 | A-b | ||
| 12/14 | |||
| 13/14 | |||
| 14/14 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.
Cover letter [PATCH tip/core/rcu 0/14] NOCBs and NO_HZ_FULL changes for 3.18
Hello!
This series includes changes affecting NOCBs and NO_HZ_FULL operation.
1. Fix for bug in earlier patch (b58cc46c5f6b, Don't offload
callbacks unless specifically requested) that properly handles early-boot callbacks. (This bug affects unusual configurations, see commit log for more information.)
2. Properly check the return value of zalloc_cpumask_var(), courtesy
of Pranith Kumar.
3. Use bool constant for __call_rcu_nocb() return value, courtesy
of Pranith Kumar.
4. Use bool constant for rcu_nocb_adopt_orphan_cbs() return value,
courtesy of Pranith Kumar.
5. Use bool constant for __call_rcu_nocb() return value in the case
where callbacks are not offloaded, courtesy of Pranith Kumar.
6. Use bool constant for rcu_nocb_adopt_orphan_cbs() return value in
the case where callbacks are not offloaded, courtesy of Pranith Kumar.
7. Aggregate RCU's kthread creation so that it is all done from a
single early_initcall() function.
8. Create rcuo kthreads only for CPUs that actually have come online
at least once since boot.
9. Check have_rcu_nocb_mask instead of for a NULL rcu_nocb_mask,
given that this latter is not necessarily a pointer, courtesy of Pranith Kumar.
10. Eliminate redundant rcu_sysidle_state variable.
11. Don't bother tracking sysidle state if there are no nohz_full=
CPUs in the system.
12. Avoid misordering in __call_rcu_nocb_enqueue().
13. Handle NOCB callbacks from irq-disabled idle code.
14. Avoid misordering in nocb_leader_wait().
Thanx, Paul
------------------------------------------------------------------------
b/include/linux/rcupdate.h | 8 + b/init/Kconfig | 4 b/init/main.c | 1 b/kernel/rcu/tree.c | 4 b/kernel/rcu/tree.h | 1 b/kernel/rcu/tree_plugin.h | 92 +++++++++++++++------- kernel/rcu/tree.c | 3 kernel/rcu/tree.h | 6 + kernel/rcu/tree_plugin.h | 182 ++++++++++++++++++++++++++++++++------------- 9 files changed, 216 insertions(+), 85 deletions(-)