• Tejun Heo's avatar
    x86: merge 64 and 32 SMP percpu handling · 9939ddaf
    Tejun Heo authored
    Now that pda is allocated as part of percpu, percpu doesn't need to be
    accessed through pda.  Unify x86_64 SMP percpu access with x86_32 SMP
    one.  Other than the segment register, operand size and the base of
    percpu symbols, they behave identical now.
    
    This patch replaces now unnecessary pda->data_offset with a dummy
    field which is necessary to keep stack_canary at its place.  This
    patch also moves per_cpu_offset initialization out of init_gdt() into
    setup_per_cpu_areas().  Note that this change also necessitates
    explicit per_cpu_offset initializations in voyager_smp.c.
    
    With this change, x86_OP_percpu()'s are as efficient on x86_64 as on
    x86_32 and also x86_64 can use assembly PER_CPU macros.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    9939ddaf
asm-offsets_64.c 3.74 KB