From: Jeremy Fitzhardinge Use the x86 scaling addressing mode rather than shifting to multiply by 4 in PER_CPU(). Signed-off-by: Jeremy Fitzhardinge Cc: Stas Sergeev Cc: Zachary Amsden Cc: Chuck Ebbert <76306.1226@compuserve.com> Cc: Jan Beulich Cc: Andi Kleen Signed-off-by: Andrew Morton --- include/asm-i386/percpu.h | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) diff -puN include/asm-i386/percpu.h~i386-espfix-cleanup-tweak include/asm-i386/percpu.h --- a/include/asm-i386/percpu.h~i386-espfix-cleanup-tweak +++ a/include/asm-i386/percpu.h @@ -19,8 +19,7 @@ */ #ifdef CONFIG_SMP #define PER_CPU(var, cpu) \ - shll $2, cpu; \ - movl __per_cpu_offset(cpu), cpu; \ + movl __per_cpu_offset(,cpu,4), cpu; \ addl $per_cpu__/**/var, cpu; #else /* ! SMP */ #define PER_CPU(var, cpu) \ _