diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2012-10-09 15:20:05 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2012-10-09 15:20:05 -0400 |
commit | db8c246937713e60b7628661ccc187eeb81f2bae (patch) | |
tree | 6351e8bca23eef40fce85396d1c6f6cfffbd4b66 /init | |
parent | c5f66e99b7cb091e3d51ae8e8156892e8feb7fa3 (diff) | |
parent | 28f2b02bc581ffc835bc1691b18d03f62fcf0395 (diff) |
Merge branch 'fortglx/3.7/time' of git://git.linaro.org/people/jstultz/linux into timers/core
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 31 | ||||
-rw-r--r-- | init/main.c | 6 |
2 files changed, 27 insertions, 10 deletions
diff --git a/init/Kconfig b/init/Kconfig index d07dcf9fc8a9..af6c7f8ba019 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -357,7 +357,7 @@ config AUDIT | |||
357 | 357 | ||
358 | config AUDITSYSCALL | 358 | config AUDITSYSCALL |
359 | bool "Enable system-call auditing support" | 359 | bool "Enable system-call auditing support" |
360 | depends on AUDIT && (X86 || PPC || S390 || IA64 || UML || SPARC64 || SUPERH || ARM) | 360 | depends on AUDIT && (X86 || PPC || S390 || IA64 || UML || SPARC64 || SUPERH || (ARM && AEABI && !OABI_COMPAT)) |
361 | default y if SECURITY_SELINUX | 361 | default y if SECURITY_SELINUX |
362 | help | 362 | help |
363 | Enable low-overhead system-call auditing infrastructure that | 363 | Enable low-overhead system-call auditing infrastructure that |
@@ -686,7 +686,7 @@ config RESOURCE_COUNTERS | |||
686 | This option enables controller independent resource accounting | 686 | This option enables controller independent resource accounting |
687 | infrastructure that works with cgroups. | 687 | infrastructure that works with cgroups. |
688 | 688 | ||
689 | config CGROUP_MEM_RES_CTLR | 689 | config MEMCG |
690 | bool "Memory Resource Controller for Control Groups" | 690 | bool "Memory Resource Controller for Control Groups" |
691 | depends on RESOURCE_COUNTERS | 691 | depends on RESOURCE_COUNTERS |
692 | select MM_OWNER | 692 | select MM_OWNER |
@@ -709,9 +709,9 @@ config CGROUP_MEM_RES_CTLR | |||
709 | This config option also selects MM_OWNER config option, which | 709 | This config option also selects MM_OWNER config option, which |
710 | could in turn add some fork/exit overhead. | 710 | could in turn add some fork/exit overhead. |
711 | 711 | ||
712 | config CGROUP_MEM_RES_CTLR_SWAP | 712 | config MEMCG_SWAP |
713 | bool "Memory Resource Controller Swap Extension" | 713 | bool "Memory Resource Controller Swap Extension" |
714 | depends on CGROUP_MEM_RES_CTLR && SWAP | 714 | depends on MEMCG && SWAP |
715 | help | 715 | help |
716 | Add swap management feature to memory resource controller. When you | 716 | Add swap management feature to memory resource controller. When you |
717 | enable this, you can limit mem+swap usage per cgroup. In other words, | 717 | enable this, you can limit mem+swap usage per cgroup. In other words, |
@@ -726,9 +726,9 @@ config CGROUP_MEM_RES_CTLR_SWAP | |||
726 | if boot option "swapaccount=0" is set, swap will not be accounted. | 726 | if boot option "swapaccount=0" is set, swap will not be accounted. |
727 | Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page | 727 | Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page |
728 | size is 4096bytes, 512k per 1Gbytes of swap. | 728 | size is 4096bytes, 512k per 1Gbytes of swap. |
729 | config CGROUP_MEM_RES_CTLR_SWAP_ENABLED | 729 | config MEMCG_SWAP_ENABLED |
730 | bool "Memory Resource Controller Swap Extension enabled by default" | 730 | bool "Memory Resource Controller Swap Extension enabled by default" |
731 | depends on CGROUP_MEM_RES_CTLR_SWAP | 731 | depends on MEMCG_SWAP |
732 | default y | 732 | default y |
733 | help | 733 | help |
734 | Memory Resource Controller Swap Extension comes with its price in | 734 | Memory Resource Controller Swap Extension comes with its price in |
@@ -739,9 +739,9 @@ config CGROUP_MEM_RES_CTLR_SWAP_ENABLED | |||
739 | For those who want to have the feature enabled by default should | 739 | For those who want to have the feature enabled by default should |
740 | select this option (if, for some reason, they need to disable it | 740 | select this option (if, for some reason, they need to disable it |
741 | then swapaccount=0 does the trick). | 741 | then swapaccount=0 does the trick). |
742 | config CGROUP_MEM_RES_CTLR_KMEM | 742 | config MEMCG_KMEM |
743 | bool "Memory Resource Controller Kernel Memory accounting (EXPERIMENTAL)" | 743 | bool "Memory Resource Controller Kernel Memory accounting (EXPERIMENTAL)" |
744 | depends on CGROUP_MEM_RES_CTLR && EXPERIMENTAL | 744 | depends on MEMCG && EXPERIMENTAL |
745 | default n | 745 | default n |
746 | help | 746 | help |
747 | The Kernel Memory extension for Memory Resource Controller can limit | 747 | The Kernel Memory extension for Memory Resource Controller can limit |
@@ -751,6 +751,21 @@ config CGROUP_MEM_RES_CTLR_KMEM | |||
751 | the kmem extension can use it to guarantee that no group of processes | 751 | the kmem extension can use it to guarantee that no group of processes |
752 | will ever exhaust kernel resources alone. | 752 | will ever exhaust kernel resources alone. |
753 | 753 | ||
754 | config CGROUP_HUGETLB | ||
755 | bool "HugeTLB Resource Controller for Control Groups" | ||
756 | depends on RESOURCE_COUNTERS && HUGETLB_PAGE && EXPERIMENTAL | ||
757 | default n | ||
758 | help | ||
759 | Provides a cgroup Resource Controller for HugeTLB pages. | ||
760 | When you enable this, you can put a per cgroup limit on HugeTLB usage. | ||
761 | The limit is enforced during page fault. Since HugeTLB doesn't | ||
762 | support page reclaim, enforcing the limit at page fault time implies | ||
763 | that, the application will get SIGBUS signal if it tries to access | ||
764 | HugeTLB pages beyond its limit. This requires the application to know | ||
765 | beforehand how much HugeTLB pages it would require for its use. The | ||
766 | control group is tracked in the third page lru pointer. This means | ||
767 | that we cannot use the controller with huge page less than 3 pages. | ||
768 | |||
754 | config CGROUP_PERF | 769 | config CGROUP_PERF |
755 | bool "Enable perf_event per-cpu per-container group (cgroup) monitoring" | 770 | bool "Enable perf_event per-cpu per-container group (cgroup) monitoring" |
756 | depends on PERF_EVENTS && CGROUPS | 771 | depends on PERF_EVENTS && CGROUPS |
diff --git a/init/main.c b/init/main.c index b5cc0a7c4708..b28673087ac0 100644 --- a/init/main.c +++ b/init/main.c | |||
@@ -68,6 +68,7 @@ | |||
68 | #include <linux/shmem_fs.h> | 68 | #include <linux/shmem_fs.h> |
69 | #include <linux/slab.h> | 69 | #include <linux/slab.h> |
70 | #include <linux/perf_event.h> | 70 | #include <linux/perf_event.h> |
71 | #include <linux/file.h> | ||
71 | 72 | ||
72 | #include <asm/io.h> | 73 | #include <asm/io.h> |
73 | #include <asm/bugs.h> | 74 | #include <asm/bugs.h> |
@@ -501,7 +502,7 @@ asmlinkage void __init start_kernel(void) | |||
501 | setup_per_cpu_areas(); | 502 | setup_per_cpu_areas(); |
502 | smp_prepare_boot_cpu(); /* arch-specific boot-cpu hooks */ | 503 | smp_prepare_boot_cpu(); /* arch-specific boot-cpu hooks */ |
503 | 504 | ||
504 | build_all_zonelists(NULL); | 505 | build_all_zonelists(NULL, NULL); |
505 | page_alloc_init(); | 506 | page_alloc_init(); |
506 | 507 | ||
507 | printk(KERN_NOTICE "Kernel command line: %s\n", boot_command_line); | 508 | printk(KERN_NOTICE "Kernel command line: %s\n", boot_command_line); |
@@ -724,6 +725,7 @@ static initcall_t *initcall_levels[] __initdata = { | |||
724 | __initcall_end, | 725 | __initcall_end, |
725 | }; | 726 | }; |
726 | 727 | ||
728 | /* Keep these in sync with initcalls in include/linux/init.h */ | ||
727 | static char *initcall_level_names[] __initdata = { | 729 | static char *initcall_level_names[] __initdata = { |
728 | "early", | 730 | "early", |
729 | "core", | 731 | "core", |
@@ -804,8 +806,8 @@ static noinline int init_post(void) | |||
804 | system_state = SYSTEM_RUNNING; | 806 | system_state = SYSTEM_RUNNING; |
805 | numa_default_policy(); | 807 | numa_default_policy(); |
806 | 808 | ||
807 | |||
808 | current->signal->flags |= SIGNAL_UNKILLABLE; | 809 | current->signal->flags |= SIGNAL_UNKILLABLE; |
810 | flush_delayed_fput(); | ||
809 | 811 | ||
810 | if (ramdisk_execute_command) { | 812 | if (ramdisk_execute_command) { |
811 | run_init_process(ramdisk_execute_command); | 813 | run_init_process(ramdisk_execute_command); |