Uses of get_current() that normally get optimized away still result in a load instruction of the current pointer in 64-bit because the inline asm uses __volatile__. This patch removes __volatile__ so that nop-ed uses of get_current() don't actually result in a load of the pointer.
Signed-off-by: James Yang <[email protected]> --- arch/powerpc/include/asm/current.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/powerpc/include/asm/current.h b/arch/powerpc/include/asm/current.h index e2c7f06..bb250c8 100644 --- a/arch/powerpc/include/asm/current.h +++ b/arch/powerpc/include/asm/current.h @@ -19,7 +19,7 @@ static inline struct task_struct *get_current(void) { struct task_struct *task; - __asm__ __volatile__("ld %0,%1(13)" + __asm__ ("ld %0,%1(13)" : "=r" (task) : "i" (offsetof(struct paca_struct, __current))); -- 1.7.0.4 _______________________________________________ Linuxppc-dev mailing list [email protected] https://lists.ozlabs.org/listinfo/linuxppc-dev
