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/apic.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/apic.c')
-rw-r--r-- | xen/arch/x86/apic.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c index 6a75036a09..04b9a28f47 100644 --- a/xen/arch/x86/apic.c +++ b/xen/arch/x86/apic.c @@ -1464,7 +1464,8 @@ int __init APIC_init_uniprocessor (void) #ifdef CONFIG_CRASH_DUMP boot_cpu_physical_apicid = get_apic_id(); #endif - phys_cpu_present_map = physid_mask_of_physid(boot_cpu_physical_apicid); + physids_clear(phys_cpu_present_map); + physid_set(boot_cpu_physical_apicid, phys_cpu_present_map); setup_local_APIC(); |