aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig259
1 files changed, 132 insertions, 127 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 19b78aa010e3..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
@@ -972,90 +1064,3 @@ source "block/Kconfig"
972config PREEMPT_NOTIFIERS 1064config PREEMPT_NOTIFIERS
973 bool 1065 bool
974 1066
975choice
976 prompt "RCU Implementation"
977 default CLASSIC_RCU
978
979config CLASSIC_RCU
980 bool "Classic RCU"
981 help
982 This option selects the classic RCU implementation that is
983 designed for best read-side performance on non-realtime
984 systems.
985
986 Select this option if you are unsure.
987
988config TREE_RCU
989 bool "Tree-based hierarchical RCU"
990 help
991 This option selects the RCU implementation that is
992 designed for very large SMP system with hundreds or
993 thousands of CPUs.
994
995config PREEMPT_RCU
996 bool "Preemptible RCU"
997 depends on PREEMPT
998 help
999 This option reduces the latency of the kernel by making certain
1000 RCU sections preemptible. Normally RCU code is non-preemptible, if
1001 this option is selected then read-only RCU sections become
1002 preemptible. This helps latency, but may expose bugs due to
1003 now-naive assumptions about each RCU read-side critical section
1004 remaining on a given CPU through its execution.
1005
1006endchoice
1007
1008config RCU_TRACE
1009 bool "Enable tracing for RCU"
1010 depends on TREE_RCU || PREEMPT_RCU
1011 help
1012 This option provides tracing in RCU which presents stats
1013 in debugfs for debugging RCU implementation.
1014
1015 Say Y here if you want to enable RCU tracing
1016 Say N if you are unsure.
1017
1018config RCU_FANOUT
1019 int "Tree-based hierarchical RCU fanout value"
1020 range 2 64 if 64BIT
1021 range 2 32 if !64BIT
1022 depends on TREE_RCU
1023 default 64 if 64BIT
1024 default 32 if !64BIT
1025 help
1026 This option controls the fanout of hierarchical implementations
1027 of RCU, allowing RCU to work efficiently on machines with
1028 large numbers of CPUs. This value must be at least the cube
1029 root of NR_CPUS, which allows NR_CPUS up to 32,768 for 32-bit
1030 systems and up to 262,144 for 64-bit systems.
1031
1032 Select a specific number if testing RCU itself.
1033 Take the default if unsure.
1034
1035config RCU_FANOUT_EXACT
1036 bool "Disable tree-based hierarchical RCU auto-balancing"
1037 depends on TREE_RCU
1038 default n
1039 help
1040 This option forces use of the exact RCU_FANOUT value specified,
1041 regardless of imbalances in the hierarchy. This is useful for
1042 testing RCU itself, and might one day be useful on systems with
1043 strong NUMA behavior.
1044
1045 Without RCU_FANOUT_EXACT, the code will balance the hierarchy.
1046
1047 Say N if unsure.
1048
1049config TREE_RCU_TRACE
1050 def_bool RCU_TRACE && TREE_RCU
1051 select DEBUG_FS
1052 help
1053 This option provides tracing for the TREE_RCU implementation,
1054 permitting Makefile to trivially select kernel/rcutree_trace.c.
1055
1056config PREEMPT_RCU_TRACE
1057 def_bool RCU_TRACE && PREEMPT_RCU
1058 select DEBUG_FS
1059 help
1060 This option provides tracing for the PREEMPT_RCU implementation,
1061 permitting Makefile to trivially select kernel/rcupreempt_trace.c.