Skip to content

Commit

Permalink
rcu: Remove Classic RCU
Browse files Browse the repository at this point in the history
Remove Classic RCU, given that the combination of Tree RCU and
the proposed Bloatwatch RCU do everything that Classic RCU can
with fewer bugs.

Tree RCU has been default in x86 builds for almost six months,
and seems to be quite reliable, so there does not seem to be
much justification for keeping the Classic RCU code and config
complexity around anymore.

Signed-off-by: Paul E. McKenney <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Ingo Molnar <[email protected]>
  • Loading branch information
paulmck authored and Ingo Molnar committed Jun 24, 2009
1 parent f6faac7 commit c17ef45
Show file tree
Hide file tree
Showing 5 changed files with 3 additions and 999 deletions.
178 changes: 0 additions & 178 deletions include/linux/rcuclassic.h

This file was deleted.

4 changes: 1 addition & 3 deletions include/linux/rcupdate.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,7 @@ struct rcu_head {
/* Internal to kernel, but needed by rcupreempt.h. */
extern int rcu_scheduler_active;

#if defined(CONFIG_CLASSIC_RCU)
#include <linux/rcuclassic.h>
#elif defined(CONFIG_TREE_RCU)
#if defined(CONFIG_TREE_RCU)
#include <linux/rcutree.h>
#elif defined(CONFIG_PREEMPT_RCU)
#include <linux/rcupreempt.h>
Expand Down
12 changes: 2 additions & 10 deletions init/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -316,21 +316,13 @@ choice
prompt "RCU Implementation"
default TREE_RCU

config CLASSIC_RCU
bool "Classic RCU"
help
This option selects the classic RCU implementation that is
designed for best read-side performance on non-realtime
systems.

Select this option if you are unsure.

config TREE_RCU
bool "Tree-based hierarchical RCU"
help
This option selects the RCU implementation that is
designed for very large SMP system with hundreds or
thousands of CPUs.
thousands of CPUs. It also scales down nicely to
smaller systems.

config PREEMPT_RCU
bool "Preemptible RCU"
Expand Down
1 change: 0 additions & 1 deletion kernel/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@ obj-$(CONFIG_DETECT_HUNG_TASK) += hung_task.o
obj-$(CONFIG_GENERIC_HARDIRQS) += irq/
obj-$(CONFIG_SECCOMP) += seccomp.o
obj-$(CONFIG_RCU_TORTURE_TEST) += rcutorture.o
obj-$(CONFIG_CLASSIC_RCU) += rcuclassic.o
obj-$(CONFIG_TREE_RCU) += rcutree.o
obj-$(CONFIG_PREEMPT_RCU) += rcupreempt.o
obj-$(CONFIG_TREE_RCU_TRACE) += rcutree_trace.o
Expand Down
Loading

0 comments on commit c17ef45

Please sign in to comment.