Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 87095
b: refs/heads/master
c: 21bbb39
h: refs/heads/master
i:
  87093: 7c8679e
  87091: 06e7eb1
  87087: f49b2b3
v: v3
  • Loading branch information
Paul E. McKenney authored and Linus Torvalds committed Mar 11, 2008
1 parent 2ce1c68 commit 58db9cf
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 32 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f47831fabaf0206abc56ee5a33fd006fe29b6dc6
refs/heads/master: 21bbb39c376ce6beeeb549d155f0d53dc76ed000
34 changes: 3 additions & 31 deletions trunk/init/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -865,38 +865,10 @@ source "block/Kconfig"
config PREEMPT_NOTIFIERS
bool

choice
prompt "RCU implementation type:"
default CLASSIC_RCU
help
This allows you to choose either the classic RCU implementation
that is designed for best read-side performance on non-realtime
systems, or the preemptible RCU implementation for best latency
on realtime systems. Note that some kernel preemption modes
will restrict your choice.

Select the default if you are unsure.

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

Say Y if you are unsure.

config PREEMPT_RCU
bool "Preemptible RCU"
depends on PREEMPT
help
This option reduces the latency of the kernel by making certain
RCU sections preemptible. Normally RCU code is non-preemptible, if
this option is selected then read-only RCU sections become
preemptible. This helps latency, but may expose bugs due to
now-naive assumptions about each RCU read-side critical section
remaining on a given CPU through its execution.

Say N if you are unsure.

endchoice
systems. Classic RCU is the default. Note that the
PREEMPT_RCU symbol is used to select/deselect this option.
15 changes: 15 additions & 0 deletions trunk/kernel/Kconfig.preempt
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,23 @@ config PREEMPT

endchoice

config PREEMPT_RCU
bool "Preemptible RCU"
depends on PREEMPT
default n
help
This option reduces the latency of the kernel by making certain
RCU sections preemptible. Normally RCU code is non-preemptible, if
this option is selected then read-only RCU sections become
preemptible. This helps latency, but may expose bugs due to
now-naive assumptions about each RCU read-side critical section
remaining on a given CPU through its execution.

Say N if you are unsure.

config RCU_TRACE
bool "Enable tracing for RCU - currently stats in debugfs"
depends on PREEMPT_RCU
select DEBUG_FS
default y
help
Expand Down

0 comments on commit 58db9cf

Please sign in to comment.