• T
    alpha: switch to dynamic percpu allocator · 9b7dbc7d
    Tejun Heo 提交于
    Alpha implements custom SHIFT_PERCPU_PTR for modules because percpu
    area can be located far away from the 4G area where the module text is
    located.  The custom SHIFT_PERCPU_PTR forces GOT usage using ldq
    instruction with literal relocation; however, the relocation can't be
    used with dynamically allocated percpu variables.  Fortunately,
    similar result can be achieved by using weak percpu variable
    definitions.
    
    This patch makes alpha use weak definitions and switch to dynamic
    percpu allocator.
    
    asm/tlbflush.h was getting linux/sched.h via asm/percpu.h which no
    longer needs it.  Include linux/sched.h directly in asm/tlbflush.h.
    
    Compile tested.  Generation of litereal relocation verified.
    
    This patch is based on Ivan Kokshaysky's alpha percpu patch.
    
    [ Impact: use dynamic percpu allocator ]
    Signed-off-by: NTejun Heo <tj@kernel.org>
    Acked-by: NIvan Kokshaysky <ink@jurassic.park.msu.ru>
    Cc: Richard Henderson <rth@twiddle.net>
    9b7dbc7d
percpu.h 488 字节