summaryrefslogtreecommitdiffstats
path: root/arch/alpha/include/asm/tlbflush.h
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2009-06-24 08:13:52 +0200
committerTejun Heo <tj@kernel.org>2009-06-24 08:13:52 +0200
commit9b7dbc7dc0365a943af2d73b1376a6f0aac5dc0d (patch)
tree324bef0a494e20f415b8fb892fe9240fba638156 /arch/alpha/include/asm/tlbflush.h
parentalpha: kill unnecessary __used attribute in PER_CPU_ATTRIBUTES (diff)
downloadlinux-9b7dbc7dc0365a943af2d73b1376a6f0aac5dc0d.tar.xz
linux-9b7dbc7dc0365a943af2d73b1376a6f0aac5dc0d.zip
alpha: switch to dynamic percpu allocator
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: Tejun Heo <tj@kernel.org> Acked-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'arch/alpha/include/asm/tlbflush.h')
-rw-r--r--arch/alpha/include/asm/tlbflush.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/alpha/include/asm/tlbflush.h b/arch/alpha/include/asm/tlbflush.h
index 9d87aaa08c0d..e89e0c2e15b1 100644
--- a/arch/alpha/include/asm/tlbflush.h
+++ b/arch/alpha/include/asm/tlbflush.h
@@ -2,6 +2,7 @@
#define _ALPHA_TLBFLUSH_H
#include <linux/mm.h>
+#include <linux/sched.h>
#include <asm/compiler.h>
#include <asm/pgalloc.h>