Commit f86fd32d authored by Thomas Gleixner's avatar Thomas Gleixner

lib/vdso: Cleanup clock mode storage leftovers

Now that all architectures are converted to use the generic storage the
helpers and conditionals can be removed.
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Tested-by: default avatarVincenzo Frascino <vincenzo.frascino@arm.com>
Reviewed-by: default avatarVincenzo Frascino <vincenzo.frascino@arm.com>
Link: https://lkml.kernel.org/r/20200207124403.470699892@linutronix.de

parent 5e3c6a31
...@@ -900,7 +900,6 @@ config VDSO ...@@ -900,7 +900,6 @@ config VDSO
select GENERIC_TIME_VSYSCALL select GENERIC_TIME_VSYSCALL
select GENERIC_VDSO_32 select GENERIC_VDSO_32
select GENERIC_GETTIMEOFDAY select GENERIC_GETTIMEOFDAY
select GENERIC_VDSO_CLOCK_MODE
help help
Place in the process address space an ELF shared object Place in the process address space an ELF shared object
providing fast implementations of gettimeofday and providing fast implementations of gettimeofday and
......
...@@ -110,7 +110,6 @@ config ARM64 ...@@ -110,7 +110,6 @@ config ARM64
select GENERIC_STRNLEN_USER select GENERIC_STRNLEN_USER
select GENERIC_TIME_VSYSCALL select GENERIC_TIME_VSYSCALL
select GENERIC_GETTIMEOFDAY select GENERIC_GETTIMEOFDAY
select GENERIC_VDSO_CLOCK_MODE
select HANDLE_DOMAIN_IRQ select HANDLE_DOMAIN_IRQ
select HARDIRQS_SW_RESEND select HARDIRQS_SW_RESEND
select HAVE_PCI select HAVE_PCI
......
...@@ -37,7 +37,6 @@ config MIPS ...@@ -37,7 +37,6 @@ config MIPS
select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
select GENERIC_SMP_IDLE_THREAD select GENERIC_SMP_IDLE_THREAD
select GENERIC_TIME_VSYSCALL select GENERIC_TIME_VSYSCALL
select GENERIC_VDSO_CLOCK_MODE
select GUP_GET_PTE_LOW_HIGH if CPU_MIPS32 && PHYS_ADDR_T_64BIT select GUP_GET_PTE_LOW_HIGH if CPU_MIPS32 && PHYS_ADDR_T_64BIT
select HANDLE_DOMAIN_IRQ select HANDLE_DOMAIN_IRQ
select HAVE_ARCH_COMPILER_H select HAVE_ARCH_COMPILER_H
......
...@@ -125,7 +125,6 @@ config X86 ...@@ -125,7 +125,6 @@ config X86
select GENERIC_STRNLEN_USER select GENERIC_STRNLEN_USER
select GENERIC_TIME_VSYSCALL select GENERIC_TIME_VSYSCALL
select GENERIC_GETTIMEOFDAY select GENERIC_GETTIMEOFDAY
select GENERIC_VDSO_CLOCK_MODE
select GENERIC_VDSO_TIME_NS select GENERIC_VDSO_TIME_NS
select GUP_GET_PTE_LOW_HIGH if X86_PAE select GUP_GET_PTE_LOW_HIGH if X86_PAE
select HARDLOCKUP_CHECK_TIMESTAMP if X86_64 select HARDLOCKUP_CHECK_TIMESTAMP if X86_64
......
...@@ -18,13 +18,6 @@ static __always_inline bool __arch_update_vdso_data(void) ...@@ -18,13 +18,6 @@ static __always_inline bool __arch_update_vdso_data(void)
} }
#endif /* __arch_update_vdso_data */ #endif /* __arch_update_vdso_data */
#ifndef __arch_get_clock_mode
static __always_inline int __arch_get_clock_mode(struct timekeeper *tk)
{
return 0;
}
#endif /* __arch_get_clock_mode */
#ifndef __arch_update_vsyscall #ifndef __arch_update_vsyscall
static __always_inline void __arch_update_vsyscall(struct vdso_data *vdata, static __always_inline void __arch_update_vsyscall(struct vdso_data *vdata,
struct timekeeper *tk) struct timekeeper *tk)
......
...@@ -24,13 +24,13 @@ struct clocksource; ...@@ -24,13 +24,13 @@ struct clocksource;
struct module; struct module;
#if defined(CONFIG_ARCH_CLOCKSOURCE_DATA) || \ #if defined(CONFIG_ARCH_CLOCKSOURCE_DATA) || \
defined(CONFIG_GENERIC_VDSO_CLOCK_MODE) defined(CONFIG_GENERIC_GETTIMEOFDAY)
#include <asm/clocksource.h> #include <asm/clocksource.h>
#endif #endif
enum vdso_clock_mode { enum vdso_clock_mode {
VDSO_CLOCKMODE_NONE, VDSO_CLOCKMODE_NONE,
#ifdef CONFIG_GENERIC_VDSO_CLOCK_MODE #ifdef CONFIG_GENERIC_GETTIMEOFDAY
VDSO_ARCH_CLOCKMODES, VDSO_ARCH_CLOCKMODES,
#endif #endif
VDSO_CLOCKMODE_MAX, VDSO_CLOCKMODE_MAX,
......
...@@ -77,11 +77,7 @@ void update_vsyscall(struct timekeeper *tk) ...@@ -77,11 +77,7 @@ void update_vsyscall(struct timekeeper *tk)
/* copy vsyscall data */ /* copy vsyscall data */
vdso_write_begin(vdata); vdso_write_begin(vdata);
#ifdef CONFIG_GENERIC_VDSO_CLOCK_MODE
clock_mode = tk->tkr_mono.clock->vdso_clock_mode; clock_mode = tk->tkr_mono.clock->vdso_clock_mode;
#else
clock_mode = __arch_get_clock_mode(tk);
#endif
vdata[CS_HRES_COARSE].clock_mode = clock_mode; vdata[CS_HRES_COARSE].clock_mode = clock_mode;
vdata[CS_RAW].clock_mode = clock_mode; vdata[CS_RAW].clock_mode = clock_mode;
......
...@@ -30,7 +30,4 @@ config GENERIC_VDSO_TIME_NS ...@@ -30,7 +30,4 @@ config GENERIC_VDSO_TIME_NS
Selected by architectures which support time namespaces in the Selected by architectures which support time namespaces in the
VDSO VDSO
config GENERIC_VDSO_CLOCK_MODE
bool
endif endif
...@@ -65,16 +65,13 @@ static int do_hres_timens(const struct vdso_data *vdns, clockid_t clk, ...@@ -65,16 +65,13 @@ static int do_hres_timens(const struct vdso_data *vdns, clockid_t clk,
do { do {
seq = vdso_read_begin(vd); seq = vdso_read_begin(vd);
if (IS_ENABLED(CONFIG_GENERIC_VDSO_CLOCK_MODE) &&
vd->clock_mode == VDSO_CLOCKMODE_NONE) if (unlikely(vd->clock_mode == VDSO_CLOCKMODE_NONE))
return -1; return -1;
cycles = __arch_get_hw_counter(vd->clock_mode); cycles = __arch_get_hw_counter(vd->clock_mode);
ns = vdso_ts->nsec; ns = vdso_ts->nsec;
last = vd->cycle_last; last = vd->cycle_last;
if (!IS_ENABLED(CONFIG_GENERIC_VDSO_CLOCK_MODE) &&
unlikely((s64)cycles < 0))
return -1;
ns += vdso_calc_delta(cycles, last, vd->mask, vd->mult); ns += vdso_calc_delta(cycles, last, vd->mask, vd->mult);
ns >>= vd->shift; ns >>= vd->shift;
sec = vdso_ts->sec; sec = vdso_ts->sec;
...@@ -137,16 +134,12 @@ static __always_inline int do_hres(const struct vdso_data *vd, clockid_t clk, ...@@ -137,16 +134,12 @@ static __always_inline int do_hres(const struct vdso_data *vd, clockid_t clk,
} }
smp_rmb(); smp_rmb();
if (IS_ENABLED(CONFIG_GENERIC_VDSO_CLOCK_MODE) && if (unlikely(vd->clock_mode == VDSO_CLOCKMODE_NONE))
vd->clock_mode == VDSO_CLOCKMODE_NONE)
return -1; return -1;
cycles = __arch_get_hw_counter(vd->clock_mode); cycles = __arch_get_hw_counter(vd->clock_mode);
ns = vdso_ts->nsec; ns = vdso_ts->nsec;
last = vd->cycle_last; last = vd->cycle_last;
if (!IS_ENABLED(CONFIG_GENERIC_VDSO_CLOCK_MODE) &&
unlikely((s64)cycles < 0))
return -1;
ns += vdso_calc_delta(cycles, last, vd->mask, vd->mult); ns += vdso_calc_delta(cycles, last, vd->mask, vd->mult);
ns >>= vd->shift; ns >>= vd->shift;
sec = vdso_ts->sec; sec = vdso_ts->sec;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment