diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-03 11:15:37 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-03 11:15:37 -0500 |
commit | fb7b096d949fa852442ed9d8f982bce526ccfe7e (patch) | |
tree | 883e7e43331d9962bcc6050a3bf88615a8c61063 /init | |
parent | a626b46e17d0762d664ce471d40bc506b6e721ab (diff) | |
parent | fad539956c9e69749a03f7817d22d1bab87657bf (diff) |
Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (25 commits)
x86: Fix out of order of gsi
x86: apic: Fix mismerge, add arch_probe_nr_irqs() again
x86, irq: Keep chip_data in create_irq_nr and destroy_irq
xen: Remove unnecessary arch specific xen irq functions.
smp: Use nr_cpus= to set nr_cpu_ids early
x86, irq: Remove arch_probe_nr_irqs
sparseirq: Use radix_tree instead of ptrs array
sparseirq: Change irq_desc_ptrs to static
init: Move radix_tree_init() early
irq: Remove unnecessary bootmem code
x86: Add iMac9,1 to pci_reboot_dmi_table
x86: Convert i8259_lock to raw_spinlock
x86: Convert nmi_lock to raw_spinlock
x86: Convert ioapic_lock and vector_lock to raw_spinlock
x86: Avoid race condition in pci_enable_msix()
x86: Fix SCI on IOAPIC != 0
x86, ia32_aout: do not kill argument mapping
x86, irq: Move __setup_vector_irq() before the first irq enable in cpu online path
x86, irq: Update the vector domain for legacy irqs handled by io-apic
x86, irq: Don't block IRQ0_VECTOR..IRQ15_VECTOR's on all cpu's
...
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(); |