diff options
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 259 |
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 | ||
241 | menu "RCU Subsystem" | ||
242 | |||
243 | choice | ||
244 | prompt "RCU Implementation" | ||
245 | default CLASSIC_RCU | ||
246 | |||
247 | config 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 | |||
256 | config 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 | |||
263 | config 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 | |||
274 | endchoice | ||
275 | |||
276 | config 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 | |||
286 | config 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 | |||
303 | config 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 | |||
317 | config 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 | |||
324 | config 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 | |||
331 | endmenu # "RCU Subsystem" | ||
332 | |||
241 | config IKCONFIG | 333 | config 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 | ||
329 | endchoice | 421 | endchoice |
330 | 422 | ||
331 | menu "Control Group support" | 423 | menuconfig CGROUPS |
332 | config 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 | ||
436 | if CGROUPS | ||
437 | |||
346 | config CGROUP_DEBUG | 438 | config 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 | ||
357 | config CGROUP_NS | 449 | config 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 | ||
366 | config CGROUP_FREEZER | 458 | config 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 | ||
373 | config CGROUP_DEVICE | 465 | config CGROUP_DEVICE |
@@ -388,18 +480,23 @@ config CPUSETS | |||
388 | 480 | ||
389 | Say N if unsure. | 481 | Say N if unsure. |
390 | 482 | ||
483 | config PROC_PID_CPUSET | ||
484 | bool "Include legacy /proc/<pid>/cpuset file" | ||
485 | depends on CPUSETS | ||
486 | default y | ||
487 | |||
391 | config CGROUP_CPUACCT | 488 | config 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 | ||
398 | config RESOURCE_COUNTERS | 495 | config 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 | ||
405 | config CGROUP_MEM_RES_CTLR | 502 | config 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 | ||
428 | config MM_OWNER | ||
429 | bool | ||
430 | |||
431 | config CGROUP_MEM_RES_CTLR_SWAP | 525 | config 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 | ||
541 | endif # CGROUPS | ||
447 | 542 | ||
448 | endmenu | 543 | config MM_OWNER |
544 | bool | ||
449 | 545 | ||
450 | config SYSFS_DEPRECATED | 546 | config 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 | ||
486 | config PROC_PID_CPUSET | ||
487 | bool "Include legacy /proc/<pid>/cpuset file" | ||
488 | depends on CPUSETS | ||
489 | default y | ||
490 | |||
491 | config RELAY | 582 | config 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 | ||
636 | config 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 | |||
545 | config BLK_DEV_INITRD | 644 | config 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 | ||
629 | config 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 | |||
636 | config KALLSYMS_EXTRA_PASS | 728 | config 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" | |||
972 | config PREEMPT_NOTIFIERS | 1064 | config PREEMPT_NOTIFIERS |
973 | bool | 1065 | bool |
974 | 1066 | ||
975 | choice | ||
976 | prompt "RCU Implementation" | ||
977 | default CLASSIC_RCU | ||
978 | |||
979 | config 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 | |||
988 | config 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 | |||
995 | config 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 | |||
1006 | endchoice | ||
1007 | |||
1008 | config 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 | |||
1018 | config 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 | |||
1035 | config 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 | |||
1049 | config 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 | |||
1056 | config 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. | ||