aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2012-10-09 15:20:05 -0400
committerThomas Gleixner <tglx@linutronix.de>2012-10-09 15:20:05 -0400
commitdb8c246937713e60b7628661ccc187eeb81f2bae (patch)
tree6351e8bca23eef40fce85396d1c6f6cfffbd4b66 /init
parentc5f66e99b7cb091e3d51ae8e8156892e8feb7fa3 (diff)
parent28f2b02bc581ffc835bc1691b18d03f62fcf0395 (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/Kconfig31
-rw-r--r--init/main.c6
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
358config AUDITSYSCALL 358config 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
689config CGROUP_MEM_RES_CTLR 689config 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
712config CGROUP_MEM_RES_CTLR_SWAP 712config 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.
729config CGROUP_MEM_RES_CTLR_SWAP_ENABLED 729config 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).
742config CGROUP_MEM_RES_CTLR_KMEM 742config 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
754config 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
754config CGROUP_PERF 769config 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 */
727static char *initcall_level_names[] __initdata = { 729static 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);