aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig194
1 files changed, 100 insertions, 94 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 6af96b7e2238..5a3ad5c20e2b 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -238,6 +238,98 @@ config AUDIT_TREE
238 def_bool y 238 def_bool y
239 depends on AUDITSYSCALL && INOTIFY 239 depends on AUDITSYSCALL && INOTIFY
240 240
241menu "RCU Subsystem"
242
243choice
244 prompt "RCU Implementation"
245 default CLASSIC_RCU
246
247config CLASSIC_RCU
248 bool "Classic RCU"
249 help
250 This option selects the classic RCU implementation that is
251 designed for best read-side performance on non-realtime
252 systems.
253
254 Select this option if you are unsure.
255
256config TREE_RCU
257 bool "Tree-based hierarchical RCU"
258 help
259 This option selects the RCU implementation that is
260 designed for very large SMP system with hundreds or
261 thousands of CPUs.
262
263config PREEMPT_RCU
264 bool "Preemptible RCU"
265 depends on PREEMPT
266 help
267 This option reduces the latency of the kernel by making certain
268 RCU sections preemptible. Normally RCU code is non-preemptible, if
269 this option is selected then read-only RCU sections become
270 preemptible. This helps latency, but may expose bugs due to
271 now-naive assumptions about each RCU read-side critical section
272 remaining on a given CPU through its execution.
273
274endchoice
275
276config RCU_TRACE
277 bool "Enable tracing for RCU"
278 depends on TREE_RCU || PREEMPT_RCU
279 help
280 This option provides tracing in RCU which presents stats
281 in debugfs for debugging RCU implementation.
282
283 Say Y here if you want to enable RCU tracing
284 Say N if you are unsure.
285
286config RCU_FANOUT
287 int "Tree-based hierarchical RCU fanout value"
288 range 2 64 if 64BIT
289 range 2 32 if !64BIT
290 depends on TREE_RCU
291 default 64 if 64BIT
292 default 32 if !64BIT
293 help
294 This option controls the fanout of hierarchical implementations
295 of RCU, allowing RCU to work efficiently on machines with
296 large numbers of CPUs. This value must be at least the cube
297 root of NR_CPUS, which allows NR_CPUS up to 32,768 for 32-bit
298 systems and up to 262,144 for 64-bit systems.
299
300 Select a specific number if testing RCU itself.
301 Take the default if unsure.
302
303config RCU_FANOUT_EXACT
304 bool "Disable tree-based hierarchical RCU auto-balancing"
305 depends on TREE_RCU
306 default n
307 help
308 This option forces use of the exact RCU_FANOUT value specified,
309 regardless of imbalances in the hierarchy. This is useful for
310 testing RCU itself, and might one day be useful on systems with
311 strong NUMA behavior.
312
313 Without RCU_FANOUT_EXACT, the code will balance the hierarchy.
314
315 Say N if unsure.
316
317config TREE_RCU_TRACE
318 def_bool RCU_TRACE && TREE_RCU
319 select DEBUG_FS
320 help
321 This option provides tracing for the TREE_RCU implementation,
322 permitting Makefile to trivially select kernel/rcutree_trace.c.
323
324config PREEMPT_RCU_TRACE
325 def_bool RCU_TRACE && PREEMPT_RCU
326 select DEBUG_FS
327 help
328 This option provides tracing for the PREEMPT_RCU implementation,
329 permitting Makefile to trivially select kernel/rcupreempt_trace.c.
330
331endmenu # "RCU Subsystem"
332
241config IKCONFIG 333config IKCONFIG
242 tristate "Kernel .config support" 334 tristate "Kernel .config support"
243 ---help--- 335 ---help---
@@ -541,6 +633,14 @@ config PID_NS
541 Unless you want to work with an experimental feature 633 Unless you want to work with an experimental feature
542 say N here. 634 say N here.
543 635
636config NET_NS
637 bool "Network namespace"
638 default n
639 depends on NAMESPACES && EXPERIMENTAL && NET
640 help
641 Allow user space to create what appear to be multiple instances
642 of the network stack.
643
544config BLK_DEV_INITRD 644config BLK_DEV_INITRD
545 bool "Initial RAM filesystem and RAM disk (initramfs/initrd) support" 645 bool "Initial RAM filesystem and RAM disk (initramfs/initrd) support"
546 depends on BROKEN || !FRV 646 depends on BROKEN || !FRV
@@ -625,13 +725,6 @@ config KALLSYMS_ALL
625 725
626 Say N. 726 Say N.
627 727
628config KALLSYMS_STRIP_GENERATED
629 bool "Strip machine generated symbols from kallsyms"
630 depends on KALLSYMS_ALL
631 default y
632 help
633 Say N if you want kallsyms to retain even machine generated symbols.
634
635config KALLSYMS_EXTRA_PASS 728config KALLSYMS_EXTRA_PASS
636 bool "Do an extra kallsyms pass" 729 bool "Do an extra kallsyms pass"
637 depends on KALLSYMS 730 depends on KALLSYMS
@@ -1002,90 +1095,3 @@ source "block/Kconfig"
1002config PREEMPT_NOTIFIERS 1095config PREEMPT_NOTIFIERS
1003 bool 1096 bool
1004 1097
1005choice
1006 prompt "RCU Implementation"
1007 default CLASSIC_RCU
1008
1009config CLASSIC_RCU
1010 bool "Classic RCU"
1011 help
1012 This option selects the classic RCU implementation that is
1013 designed for best read-side performance on non-realtime
1014 systems.
1015
1016 Select this option if you are unsure.
1017
1018config TREE_RCU
1019 bool "Tree-based hierarchical RCU"
1020 help
1021 This option selects the RCU implementation that is
1022 designed for very large SMP system with hundreds or
1023 thousands of CPUs.
1024
1025config PREEMPT_RCU
1026 bool "Preemptible RCU"
1027 depends on PREEMPT
1028 help
1029 This option reduces the latency of the kernel by making certain
1030 RCU sections preemptible. Normally RCU code is non-preemptible, if
1031 this option is selected then read-only RCU sections become
1032 preemptible. This helps latency, but may expose bugs due to
1033 now-naive assumptions about each RCU read-side critical section
1034 remaining on a given CPU through its execution.
1035
1036endchoice
1037
1038config RCU_TRACE
1039 bool "Enable tracing for RCU"
1040 depends on TREE_RCU || PREEMPT_RCU
1041 help
1042 This option provides tracing in RCU which presents stats
1043 in debugfs for debugging RCU implementation.
1044
1045 Say Y here if you want to enable RCU tracing
1046 Say N if you are unsure.
1047
1048config RCU_FANOUT
1049 int "Tree-based hierarchical RCU fanout value"
1050 range 2 64 if 64BIT
1051 range 2 32 if !64BIT
1052 depends on TREE_RCU
1053 default 64 if 64BIT
1054 default 32 if !64BIT
1055 help
1056 This option controls the fanout of hierarchical implementations
1057 of RCU, allowing RCU to work efficiently on machines with
1058 large numbers of CPUs. This value must be at least the cube
1059 root of NR_CPUS, which allows NR_CPUS up to 32,768 for 32-bit
1060 systems and up to 262,144 for 64-bit systems.
1061
1062 Select a specific number if testing RCU itself.
1063 Take the default if unsure.
1064
1065config RCU_FANOUT_EXACT
1066 bool "Disable tree-based hierarchical RCU auto-balancing"
1067 depends on TREE_RCU
1068 default n
1069 help
1070 This option forces use of the exact RCU_FANOUT value specified,
1071 regardless of imbalances in the hierarchy. This is useful for
1072 testing RCU itself, and might one day be useful on systems with
1073 strong NUMA behavior.
1074
1075 Without RCU_FANOUT_EXACT, the code will balance the hierarchy.
1076
1077 Say N if unsure.
1078
1079config TREE_RCU_TRACE
1080 def_bool RCU_TRACE && TREE_RCU
1081 select DEBUG_FS
1082 help
1083 This option provides tracing for the TREE_RCU implementation,
1084 permitting Makefile to trivially select kernel/rcutree_trace.c.
1085
1086config PREEMPT_RCU_TRACE
1087 def_bool RCU_TRACE && PREEMPT_RCU
1088 select DEBUG_FS
1089 help
1090 This option provides tracing for the PREEMPT_RCU implementation,
1091 permitting Makefile to trivially select kernel/rcupreempt_trace.c.