RFC Miscellaneous RCU fixes for 3.5
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest6 patches 25 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/6 | rcu: Stabilize use of num_online_cpus() for GP short circuitinclude/ | +6 | 4 replies | |
| 2/6 | rcu: List-debug variants of rcu list routines.include/ lib/ | +28 | 0 replies | |
| 3/6 | rcu: Replace list_first_entry_rcu() with list_first_or_null_rcu()include/ | +29 | 0 replies | |
| 4/6 | rcu: Clarify help text for RCU_BOOST_PRIOinit/ | +19 | 2 replies | |
| 5/6 | rcu: Make __kfree_rcu() less dependent on compiler choicesinclude/ | +18 | 3 replies | |
| 6/6 | rcu: Reduce cache-miss initialization latencies for large systemsinit/ kernel/ kernel/ | +31 | 16 replies |
Reviews trailers per patch
1 of 6 patches has a Reviewed-by or Acked-by.
| Patch | Josh Triplett |
|---|---|
| 1/6 | |
| 2/6 | |
| 3/6 | |
| 4/6 | |
| 5/6 | R-b |
| 6/6 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH RFC 0/6] Miscellaneous RCU fixes for 3.5
Hello!
This series includes several miscellaneous fixes for RCU as follows:
1. Make the rcu_blocking_is_gp() function properly guard against
concurrent CPU-hotplug operations.
2. Make __list_add_rcu() do pointer checks like __list_add() does,
courtesy of Dave Jones.
3. Replace the "unsafe at any speed" list_first_entry_rcu() macro
with a safe and sane list_first_or_null_rcu(), courtesy of Michel Machado.
4. Clarify help text for the RCU_BOOST_PRIO kernel config parameter.
5. Convert __kfree_rcu() from an inline function to a macro in order
to avoid spurious build failures should gcc fail to inline it. Courtesy of Jan Engelhardt.
6. Reduce cache-miss initialization latencies for large systems.
Given the widespread use of NR_CPUS=4096, there are a lot of large systems out there.
Thanx, Paul
b/include/linux/rculist.h | 7 ++++++- b/include/linux/rcupdate.h | 18 ++++++++++++++++++ b/include/linux/rcutree.h | 7 ++++++- b/init/Kconfig | 23 +++++++++++++++++++---- b/kernel/rcutree.c | 2 +- b/kernel/rcutree.h | 10 +++------- b/lib/list_debug.c | 22 ++++++++++++++++++++++ include/linux/rculist.h | 33 +++++++++++++++++++++++++++++---- init/Kconfig | 27 +++++++++++++++++++++++++++ 9 files changed, 131 insertions(+), 18 deletions(-)