[RFC PATCH v4 09/11] powerpc/vdso: override __arch_vdso_capable()

From: Christophe Leroy
Date: Thu Jan 16 2020 - 12:58:44 EST


When the timebase is used, make __arch_vdso_capable() always
return true. When the RTC clock is used, make __arch_vdso_capable()
always return false.

Before the patch:
clock-gettime-realtime: vdso: 1086 nsec/call

After the patch:
clock-gettime-realtime: vdso: 1033 nsec/call

Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx>
---
arch/powerpc/include/asm/vdso/gettimeofday.h | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/arch/powerpc/include/asm/vdso/gettimeofday.h b/arch/powerpc/include/asm/vdso/gettimeofday.h
index 0a247f9b9af9..74b6eef8fbe9 100644
--- a/arch/powerpc/include/asm/vdso/gettimeofday.h
+++ b/arch/powerpc/include/asm/vdso/gettimeofday.h
@@ -74,6 +74,12 @@ static __always_inline u64 __arch_get_hw_counter(s32 clock_mode)

const struct vdso_data *__arch_get_vdso_data(void);

+static inline bool __arch_vdso_capable(const struct vdso_data *vd)
+{
+ return !__USE_RTC();
+}
+#define __arch_vdso_capable __arch_vdso_capable
+
/*
* powerpc specific delta calculation.
*
--
2.13.3