diff options
Diffstat (limited to 'init')
-rw-r--r-- | init/main.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/init/main.c b/init/main.c index c75dcd6eef09..18098153c331 100644 --- a/init/main.c +++ b/init/main.c | |||
@@ -149,6 +149,20 @@ static int __init nosmp(char *str) | |||
149 | 149 | ||
150 | early_param("nosmp", nosmp); | 150 | early_param("nosmp", nosmp); |
151 | 151 | ||
152 | /* this is hard limit */ | ||
153 | static int __init nrcpus(char *str) | ||
154 | { | ||
155 | int nr_cpus; | ||
156 | |||
157 | get_option(&str, &nr_cpus); | ||
158 | if (nr_cpus > 0 && nr_cpus < nr_cpu_ids) | ||
159 | nr_cpu_ids = nr_cpus; | ||
160 | |||
161 | return 0; | ||
162 | } | ||
163 | |||
164 | early_param("nr_cpus", nrcpus); | ||
165 | |||
152 | static int __init maxcpus(char *str) | 166 | static int __init maxcpus(char *str) |
153 | { | 167 | { |
154 | get_option(&str, &setup_max_cpus); | 168 | get_option(&str, &setup_max_cpus); |
@@ -586,6 +600,7 @@ asmlinkage void __init start_kernel(void) | |||
586 | local_irq_disable(); | 600 | local_irq_disable(); |
587 | } | 601 | } |
588 | rcu_init(); | 602 | rcu_init(); |
603 | radix_tree_init(); | ||
589 | /* init some links before init_ISA_irqs() */ | 604 | /* init some links before init_ISA_irqs() */ |
590 | early_irq_init(); | 605 | early_irq_init(); |
591 | init_IRQ(); | 606 | init_IRQ(); |
@@ -659,7 +674,6 @@ asmlinkage void __init start_kernel(void) | |||
659 | proc_caches_init(); | 674 | proc_caches_init(); |
660 | buffer_init(); | 675 | buffer_init(); |
661 | key_init(); | 676 | key_init(); |
662 | radix_tree_init(); | ||
663 | security_init(); | 677 | security_init(); |
664 | vfs_caches_init(totalram_pages); | 678 | vfs_caches_init(totalram_pages); |
665 | signals_init(); | 679 | signals_init(); |