diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2020-02-07 15:38:58 +0300 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2020-02-17 22:12:16 +0300 |
commit | 5e3c6a312a0946d2d83e32359612cbb925a8bed0 (patch) | |
tree | df9a86cf10c76d554853f566d3551c66a5e2c95a /arch/arm64/include/asm/vdso/gettimeofday.h | |
parent | e1bdb22ebe5363ed75ddedf836ca9f19e1195337 (diff) | |
download | linux-5e3c6a312a0946d2d83e32359612cbb925a8bed0.tar.xz |
ARM/arm64: vdso: Use common vdso clock mode storage
Convert ARM/ARM64 to the generic VDSO clock mode storage. This needs to
happen in one go as they share the clocksource driver.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Reviewed-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Link: https://lkml.kernel.org/r/20200207124403.363235229@linutronix.de
Diffstat (limited to 'arch/arm64/include/asm/vdso/gettimeofday.h')
-rw-r--r-- | arch/arm64/include/asm/vdso/gettimeofday.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/arch/arm64/include/asm/vdso/gettimeofday.h b/arch/arm64/include/asm/vdso/gettimeofday.h index b08f476b72b4..5a534432aa5d 100644 --- a/arch/arm64/include/asm/vdso/gettimeofday.h +++ b/arch/arm64/include/asm/vdso/gettimeofday.h @@ -10,8 +10,6 @@ #include <asm/unistd.h> #include <uapi/linux/time.h> -#define __VDSO_USE_SYSCALL ULLONG_MAX - #define VDSO_HAS_CLOCK_GETRES 1 static __always_inline @@ -71,11 +69,12 @@ static __always_inline u64 __arch_get_hw_counter(s32 clock_mode) u64 res; /* - * clock_mode == 0 implies that vDSO are enabled otherwise - * fallback on syscall. + * Core checks for mode already, so this raced against a concurrent + * update. Return something. Core will do another round and then + * see the mode change and fallback to the syscall. */ - if (clock_mode) - return __VDSO_USE_SYSCALL; + if (clock_mode == VDSO_CLOCKMODE_NONE) + return 0; /* * This isb() is required to prevent that the counter value |