diff options
author | Christophe Leroy <christophe.leroy@csgroup.eu> | 2020-12-20 21:18:26 +0300 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2020-12-21 14:06:10 +0300 |
commit | 0faa22f09caadc11af2aa7570870ebd2ac5b8170 (patch) | |
tree | 7c1ba47144ca505f0155b50a0283064332150411 /arch | |
parent | b36f835b636908e4122f2e17310b1dbc380a3b19 (diff) | |
download | linux-0faa22f09caadc11af2aa7570870ebd2ac5b8170.tar.xz |
powerpc/time: Force inlining of get_tb()
Force inlining of get_tb() in order to avoid getting
following function in vdso32, leading to suboptimal
performance in clock_gettime()
00000688 <.get_tb>:
688: 7c 6d 42 a6 mftbu r3
68c: 7c 8c 42 a6 mftb r4
690: 7d 2d 42 a6 mftbu r9
694: 7c 03 48 40 cmplw r3,r9
698: 40 e2 ff f0 bne+ 688 <.get_tb>
69c: 4e 80 00 20 blr
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/df05d53eed1210cf1aa76d1fb44aa0fab29c018e.1608488286.git.christophe.leroy@csgroup.eu
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/include/asm/vdso/timebase.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/vdso/timebase.h b/arch/powerpc/include/asm/vdso/timebase.h index b558b07959ce..881f655caa0a 100644 --- a/arch/powerpc/include/asm/vdso/timebase.h +++ b/arch/powerpc/include/asm/vdso/timebase.h @@ -49,7 +49,7 @@ static inline unsigned long get_tbl(void) return mftb(); } -static inline u64 get_tb(void) +static __always_inline u64 get_tb(void) { unsigned int tbhi, tblo, tbhi2; |