aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig260
1 files changed, 132 insertions, 128 deletions
diff --git a/init/Kconfig b/init/Kconfig
index a724a149bf3f..a90fcbeeb9d2 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---
@@ -323,26 +415,26 @@ config CGROUP_SCHED
323 This option allows you to create arbitrary task groups 415 This option allows you to create arbitrary task groups
324 using the "cgroup" pseudo filesystem and control 416 using the "cgroup" pseudo filesystem and control
325 the cpu bandwidth allocated to each such task group. 417 the cpu bandwidth allocated to each such task group.
326 Refer to Documentation/cgroups.txt for more information 418 Refer to Documentation/cgroups/cgroups.txt for more
327 on "cgroup" pseudo filesystem. 419 information on "cgroup" pseudo filesystem.
328 420
329endchoice 421endchoice
330 422
331menu "Control Group support" 423menuconfig CGROUPS
332config CGROUPS 424 boolean "Control Group support"
333 bool "Control Group support"
334 help 425 help
335 This option add support for grouping sets of processes together, for 426 This option adds support for grouping sets of processes together, for
336 use with process control subsystems such as Cpusets, CFS, memory 427 use with process control subsystems such as Cpusets, CFS, memory
337 controls or device isolation. 428 controls or device isolation.
338 See 429 See
339 - Documentation/cpusets.txt (Cpusets)
340 - Documentation/scheduler/sched-design-CFS.txt (CFS) 430 - Documentation/scheduler/sched-design-CFS.txt (CFS)
341 - Documentation/cgroups/ (features for grouping, isolation) 431 - Documentation/cgroups/ (features for grouping, isolation
342 - Documentation/controllers/ (features for resource control) 432 and resource control)
343 433
344 Say N if unsure. 434 Say N if unsure.
345 435
436if CGROUPS
437
346config CGROUP_DEBUG 438config CGROUP_DEBUG
347 bool "Example debug cgroup subsystem" 439 bool "Example debug cgroup subsystem"
348 depends on CGROUPS 440 depends on CGROUPS
@@ -350,24 +442,24 @@ config CGROUP_DEBUG
350 help 442 help
351 This option enables a simple cgroup subsystem that 443 This option enables a simple cgroup subsystem that
352 exports useful debugging information about the cgroups 444 exports useful debugging information about the cgroups
353 framework 445 framework.
354 446
355 Say N if unsure 447 Say N if unsure.
356 448
357config CGROUP_NS 449config CGROUP_NS
358 bool "Namespace cgroup subsystem" 450 bool "Namespace cgroup subsystem"
359 depends on CGROUPS 451 depends on CGROUPS
360 help 452 help
361 Provides a simple namespace cgroup subsystem to 453 Provides a simple namespace cgroup subsystem to
362 provide hierarchical naming of sets of namespaces, 454 provide hierarchical naming of sets of namespaces,
363 for instance virtual servers and checkpoint/restart 455 for instance virtual servers and checkpoint/restart
364 jobs. 456 jobs.
365 457
366config CGROUP_FREEZER 458config CGROUP_FREEZER
367 bool "control group freezer subsystem" 459 bool "Freezer cgroup subsystem"
368 depends on CGROUPS 460 depends on CGROUPS
369 help 461 help
370 Provides a way to freeze and unfreeze all tasks in a 462 Provides a way to freeze and unfreeze all tasks in a
371 cgroup. 463 cgroup.
372 464
373config CGROUP_DEVICE 465config CGROUP_DEVICE
@@ -388,18 +480,23 @@ config CPUSETS
388 480
389 Say N if unsure. 481 Say N if unsure.
390 482
483config PROC_PID_CPUSET
484 bool "Include legacy /proc/<pid>/cpuset file"
485 depends on CPUSETS
486 default y
487
391config CGROUP_CPUACCT 488config CGROUP_CPUACCT
392 bool "Simple CPU accounting cgroup subsystem" 489 bool "Simple CPU accounting cgroup subsystem"
393 depends on CGROUPS 490 depends on CGROUPS
394 help 491 help
395 Provides a simple Resource Controller for monitoring the 492 Provides a simple Resource Controller for monitoring the
396 total CPU consumed by the tasks in a cgroup 493 total CPU consumed by the tasks in a cgroup.
397 494
398config RESOURCE_COUNTERS 495config RESOURCE_COUNTERS
399 bool "Resource counters" 496 bool "Resource counters"
400 help 497 help
401 This option enables controller independent resource accounting 498 This option enables controller independent resource accounting
402 infrastructure that works with cgroups 499 infrastructure that works with cgroups.
403 depends on CGROUPS 500 depends on CGROUPS
404 501
405config CGROUP_MEM_RES_CTLR 502config CGROUP_MEM_RES_CTLR
@@ -425,9 +522,6 @@ config CGROUP_MEM_RES_CTLR
425 This config option also selects MM_OWNER config option, which 522 This config option also selects MM_OWNER config option, which
426 could in turn add some fork/exit overhead. 523 could in turn add some fork/exit overhead.
427 524
428config MM_OWNER
429 bool
430
431config CGROUP_MEM_RES_CTLR_SWAP 525config CGROUP_MEM_RES_CTLR_SWAP
432 bool "Memory Resource Controller Swap Extension(EXPERIMENTAL)" 526 bool "Memory Resource Controller Swap Extension(EXPERIMENTAL)"
433 depends on CGROUP_MEM_RES_CTLR && SWAP && EXPERIMENTAL 527 depends on CGROUP_MEM_RES_CTLR && SWAP && EXPERIMENTAL
@@ -444,8 +538,10 @@ config CGROUP_MEM_RES_CTLR_SWAP
444 there will be no overhead from this. Even when you set this config=y, 538 there will be no overhead from this. Even when you set this config=y,
445 if boot option "noswapaccount" is set, swap will not be accounted. 539 if boot option "noswapaccount" is set, swap will not be accounted.
446 540
541endif # CGROUPS
447 542
448endmenu 543config MM_OWNER
544 bool
449 545
450config SYSFS_DEPRECATED 546config SYSFS_DEPRECATED
451 bool 547 bool
@@ -483,11 +579,6 @@ config SYSFS_DEPRECATED_V2
483 if the original kernel, that came with your distribution, has 579 if the original kernel, that came with your distribution, has
484 this option set to N. 580 this option set to N.
485 581
486config PROC_PID_CPUSET
487 bool "Include legacy /proc/<pid>/cpuset file"
488 depends on CPUSETS
489 default y
490
491config RELAY 582config RELAY
492 bool "Kernel->user space relay support (formerly relayfs)" 583 bool "Kernel->user space relay support (formerly relayfs)"
493 help 584 help
@@ -542,6 +633,14 @@ config PID_NS
542 Unless you want to work with an experimental feature 633 Unless you want to work with an experimental feature
543 say N here. 634 say N here.
544 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
545config BLK_DEV_INITRD 644config BLK_DEV_INITRD
546 bool "Initial RAM filesystem and RAM disk (initramfs/initrd) support" 645 bool "Initial RAM filesystem and RAM disk (initramfs/initrd) support"
547 depends on BROKEN || !FRV 646 depends on BROKEN || !FRV
@@ -626,13 +725,6 @@ config KALLSYMS_ALL
626 725
627 Say N. 726 Say N.
628 727
629config KALLSYMS_STRIP_GENERATED
630 bool "Strip machine generated symbols from kallsyms"
631 depends on KALLSYMS_ALL
632 default y
633 help
634 Say N if you want kallsyms to retain even machine generated symbols.
635
636config KALLSYMS_EXTRA_PASS 728config KALLSYMS_EXTRA_PASS
637 bool "Do an extra kallsyms pass" 729 bool "Do an extra kallsyms pass"
638 depends on KALLSYMS 730 depends on KALLSYMS
@@ -874,7 +966,6 @@ config SLABINFO
874 966
875config RT_MUTEXES 967config RT_MUTEXES
876 boolean 968 boolean
877 select PLIST
878 969
879config BASE_SMALL 970config BASE_SMALL
880 int 971 int
@@ -973,90 +1064,3 @@ source "block/Kconfig"
973config PREEMPT_NOTIFIERS 1064config PREEMPT_NOTIFIERS
974 bool 1065 bool
975 1066
976choice
977 prompt "RCU Implementation"
978 default CLASSIC_RCU
979
980config CLASSIC_RCU
981 bool "Classic RCU"
982 help
983 This option selects the classic RCU implementation that is
984 designed for best read-side performance on non-realtime
985 systems.
986
987 Select this option if you are unsure.
988
989config TREE_RCU
990 bool "Tree-based hierarchical RCU"
991 help
992 This option selects the RCU implementation that is
993 designed for very large SMP system with hundreds or
994 thousands of CPUs.
995
996config PREEMPT_RCU
997 bool "Preemptible RCU"
998 depends on PREEMPT
999 help
1000 This option reduces the latency of the kernel by making certain
1001 RCU sections preemptible. Normally RCU code is non-preemptible, if
1002 this option is selected then read-only RCU sections become
1003 preemptible. This helps latency, but may expose bugs due to
1004 now-naive assumptions about each RCU read-side critical section
1005 remaining on a given CPU through its execution.
1006
1007endchoice
1008
1009config RCU_TRACE
1010 bool "Enable tracing for RCU"
1011 depends on TREE_RCU || PREEMPT_RCU
1012 help
1013 This option provides tracing in RCU which presents stats
1014 in debugfs for debugging RCU implementation.
1015
1016 Say Y here if you want to enable RCU tracing
1017 Say N if you are unsure.
1018
1019config RCU_FANOUT
1020 int "Tree-based hierarchical RCU fanout value"
1021 range 2 64 if 64BIT
1022 range 2 32 if !64BIT
1023 depends on TREE_RCU
1024 default 64 if 64BIT
1025 default 32 if !64BIT
1026 help
1027 This option controls the fanout of hierarchical implementations
1028 of RCU, allowing RCU to work efficiently on machines with
1029 large numbers of CPUs. This value must be at least the cube
1030 root of NR_CPUS, which allows NR_CPUS up to 32,768 for 32-bit
1031 systems and up to 262,144 for 64-bit systems.
1032
1033 Select a specific number if testing RCU itself.
1034 Take the default if unsure.
1035
1036config RCU_FANOUT_EXACT
1037 bool "Disable tree-based hierarchical RCU auto-balancing"
1038 depends on TREE_RCU
1039 default n
1040 help
1041 This option forces use of the exact RCU_FANOUT value specified,
1042 regardless of imbalances in the hierarchy. This is useful for
1043 testing RCU itself, and might one day be useful on systems with
1044 strong NUMA behavior.
1045
1046 Without RCU_FANOUT_EXACT, the code will balance the hierarchy.
1047
1048 Say N if unsure.
1049
1050config TREE_RCU_TRACE
1051 def_bool RCU_TRACE && TREE_RCU
1052 select DEBUG_FS
1053 help
1054 This option provides tracing for the TREE_RCU implementation,
1055 permitting Makefile to trivially select kernel/rcutree_trace.c.
1056
1057config PREEMPT_RCU_TRACE
1058 def_bool RCU_TRACE && PREEMPT_RCU
1059 select DEBUG_FS
1060 help
1061 This option provides tracing for the PREEMPT_RCU implementation,
1062 permitting Makefile to trivially select kernel/rcupreempt_trace.c.