diff options
author | Jan Beulich <jbeulich@suse.com> | 2011-10-14 12:26:20 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2011-10-14 12:26:20 +0200 |
commit | 2c4aff7e10734e214fc651a840cd9cc9aa2617ae (patch) | |
tree | 243b6046637a99a65df5217f17a5a81861efd1ac /xen/arch/x86/smpboot.c | |
parent | 9cff0937b26fde65ae0077e1d4589a8b0926c816 (diff) | |
download | xen-2c4aff7e10734e214fc651a840cd9cc9aa2617ae.tar.gz xen-2c4aff7e10734e214fc651a840cd9cc9aa2617ae.tar.bz2 xen-2c4aff7e10734e214fc651a840cd9cc9aa2617ae.zip |
x86: clean up physid_mask_t handling
This eliminates passing and returning by value of this type (making it
unnecessary for the compiler to create temporary variables for doing so
on the stack), thus dramatically reducing the stack frame sizes of a
couple of functions (was in one case over 12k for a 4095-CPU build).
In one case a local variable gets converted to a static one, possible
because the function gets called at most once (during early boot).
Some accessors get eliminated altogether as being unused or as being
equally well open coded at the place of use.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/arch/x86/smpboot.c')
-rw-r--r-- | xen/arch/x86/smpboot.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c index c008468794..f3a479d097 100644 --- a/xen/arch/x86/smpboot.c +++ b/xen/arch/x86/smpboot.c @@ -752,7 +752,8 @@ void __init smp_prepare_cpus(unsigned int max_cpus) { printk(KERN_NOTICE "SMP motherboard not detected.\n"); init_uniprocessor: - phys_cpu_present_map = physid_mask_of_physid(0); + physids_clear(phys_cpu_present_map); + physid_set(0, phys_cpu_present_map); if (APIC_init_uniprocessor()) printk(KERN_NOTICE "Local APIC not detected." " Using dummy APIC emulation.\n"); @@ -767,7 +768,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus) * CPU too, but we do it for the sake of robustness anyway. * Makes no sense to do this check in clustered apic mode, so skip it */ - if ( !check_phys_apicid_present(boot_cpu_physical_apicid) ) + if ( !check_apicid_present(boot_cpu_physical_apicid) ) { printk("weird, boot CPU (#%d) not listed by the BIOS.\n", boot_cpu_physical_apicid); |