Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1405170

[PATCH] powerpc: inline current_stack_pointer()

From Christophe Leroy <christophe.leroy@c-s.fr>
Newsgroups linux.kernel
Subject [PATCH] powerpc: inline current_stack_pointer()
Date 2016-05-23 10:50 +0200
Message-ID <rBTIJ-3A5-5@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


current_stack_pointeur() is a single instruction function. it
It is not worth breaking the execution flow with a bl/blr for a
single instruction

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 arch/powerpc/include/asm/reg.h  | 7 ++++++-
 arch/powerpc/kernel/misc.S      | 4 ----
 arch/powerpc/kernel/ppc_ksyms.c | 2 --
 3 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h
index c1e82e9..7ce6777 100644
--- a/arch/powerpc/include/asm/reg.h
+++ b/arch/powerpc/include/asm/reg.h
@@ -1301,7 +1301,12 @@ static inline unsigned long mfvtb (void)
 
 #define proc_trap()	asm volatile("trap")
 
-extern unsigned long current_stack_pointer(void);
+static inline unsigned long current_stack_pointer(void)
+{
+	register unsigned long *ptr asm("r1");
+
+	return *ptr;
+}
 
 extern unsigned long scom970_read(unsigned int address);
 extern void scom970_write(unsigned int address, unsigned long value);
diff --git a/arch/powerpc/kernel/misc.S b/arch/powerpc/kernel/misc.S
index 0d43219..7ce26d4 100644
--- a/arch/powerpc/kernel/misc.S
+++ b/arch/powerpc/kernel/misc.S
@@ -114,7 +114,3 @@ _GLOBAL(longjmp)
 	mtlr	r0
 	mr	r3,r4
 	blr
-
-_GLOBAL(current_stack_pointer)
-	PPC_LL	r3,0(r1)
-	blr
diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c
index 9f01e28..eb5c5dc 100644
--- a/arch/powerpc/kernel/ppc_ksyms.c
+++ b/arch/powerpc/kernel/ppc_ksyms.c
@@ -33,5 +33,3 @@ EXPORT_SYMBOL(store_vr_state);
 #ifdef CONFIG_EPAPR_PARAVIRT
 EXPORT_SYMBOL(epapr_hypercall_start);
 #endif
-
-EXPORT_SYMBOL(current_stack_pointer);
-- 
2.1.0

Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread


Thread

[PATCH] powerpc: inline current_stack_pointer() Christophe Leroy <christophe.leroy@c-s.fr> - 2016-05-23 10:50 +0200
  Re: [PATCH] powerpc: inline current_stack_pointer() Segher Boessenkool <segher@kernel.crashing.org> - 2016-05-23 23:10 +0200
    Re: [PATCH] powerpc: inline current_stack_pointer() Christophe Leroy <christophe.leroy@c-s.fr> - 2016-05-24 07:50 +0200
      Re: [PATCH] powerpc: inline current_stack_pointer() Segher Boessenkool <segher@kernel.crashing.org> - 2016-05-24 08:10 +0200
  Re: [PATCH] powerpc: inline current_stack_pointer() Gabriel Paubert <paubert@iram.es> - 2016-05-24 08:50 +0200
    Re: [PATCH] powerpc: inline current_stack_pointer() Paul Mackerras <paulus@ozlabs.org> - 2016-05-25 05:50 +0200

csiph-web