OSDN Git Service

lib/vdso: Cleanup clock mode storage leftovers
authorThomas Gleixner <tglx@linutronix.de>
Fri, 7 Feb 2020 12:38:59 +0000 (13:38 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 17 Feb 2020 19:12:17 +0000 (20:12 +0100)
Now that all architectures are converted to use the generic storage the
helpers and conditionals can be removed.

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.470699892@linutronix.de
arch/arm/mm/Kconfig
arch/arm64/Kconfig
arch/mips/Kconfig
arch/x86/Kconfig
include/asm-generic/vdso/vsyscall.h
include/linux/clocksource.h
kernel/time/vsyscall.c
lib/vdso/Kconfig
lib/vdso/gettimeofday.c

index 865e888..65e4482 100644 (file)
@@ -900,7 +900,6 @@ config VDSO
        select GENERIC_TIME_VSYSCALL
        select GENERIC_VDSO_32
        select GENERIC_GETTIMEOFDAY
-       select GENERIC_VDSO_CLOCK_MODE
        help
          Place in the process address space an ELF shared object
          providing fast implementations of gettimeofday and
index 7809d49..c6c32fb 100644 (file)
@@ -110,7 +110,6 @@ config ARM64
        select GENERIC_STRNLEN_USER
        select GENERIC_TIME_VSYSCALL
        select GENERIC_GETTIMEOFDAY
-       select GENERIC_VDSO_CLOCK_MODE
        select HANDLE_DOMAIN_IRQ
        select HARDIRQS_SW_RESEND
        select HAVE_PCI
index 23b5c05..654369a 100644 (file)
@@ -37,7 +37,6 @@ config MIPS
        select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
        select GENERIC_SMP_IDLE_THREAD
        select GENERIC_TIME_VSYSCALL
-       select GENERIC_VDSO_CLOCK_MODE
        select GUP_GET_PTE_LOW_HIGH if CPU_MIPS32 && PHYS_ADDR_T_64BIT
        select HANDLE_DOMAIN_IRQ
        select HAVE_ARCH_COMPILER_H
index 698e9c8..8b995db 100644 (file)
@@ -125,7 +125,6 @@ config X86
        select GENERIC_STRNLEN_USER
        select GENERIC_TIME_VSYSCALL
        select GENERIC_GETTIMEOFDAY
-       select GENERIC_VDSO_CLOCK_MODE
        select GENERIC_VDSO_TIME_NS
        select GUP_GET_PTE_LOW_HIGH             if X86_PAE
        select HARDLOCKUP_CHECK_TIMESTAMP       if X86_64
index cec543d..4a28797 100644 (file)
@@ -18,13 +18,6 @@ static __always_inline bool __arch_update_vdso_data(void)
 }
 #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
 static __always_inline void __arch_update_vsyscall(struct vdso_data *vdata,
                                                   struct timekeeper *tk)
index 6d5ed1b..7fefe0b 100644 (file)
@@ -24,13 +24,13 @@ struct clocksource;
 struct module;
 
 #if defined(CONFIG_ARCH_CLOCKSOURCE_DATA) || \
-    defined(CONFIG_GENERIC_VDSO_CLOCK_MODE)
+    defined(CONFIG_GENERIC_GETTIMEOFDAY)
 #include <asm/clocksource.h>
 #endif
 
 enum vdso_clock_mode {
        VDSO_CLOCKMODE_NONE,
-#ifdef CONFIG_GENERIC_VDSO_CLOCK_MODE
+#ifdef CONFIG_GENERIC_GETTIMEOFDAY
        VDSO_ARCH_CLOCKMODES,
 #endif
        VDSO_CLOCKMODE_MAX,
index f9a5178..d31a5ef 100644 (file)
@@ -77,11 +77,7 @@ void update_vsyscall(struct timekeeper *tk)
        /* copy vsyscall data */
        vdso_write_begin(vdata);
 
-#ifdef CONFIG_GENERIC_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_RAW].clock_mode                = clock_mode;
 
index d9f43c8..d883ac2 100644 (file)
@@ -30,7 +30,4 @@ config GENERIC_VDSO_TIME_NS
          Selected by architectures which support time namespaces in the
          VDSO
 
-config GENERIC_VDSO_CLOCK_MODE
-       bool
-
 endif
index 3f2d8b8..00f8d1f 100644 (file)
@@ -65,16 +65,13 @@ static int do_hres_timens(const struct vdso_data *vdns, clockid_t clk,
 
        do {
                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;
+
                cycles = __arch_get_hw_counter(vd->clock_mode);
                ns = vdso_ts->nsec;
                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 >>= vd->shift;
                sec = vdso_ts->sec;
@@ -137,16 +134,12 @@ static __always_inline int do_hres(const struct vdso_data *vd, clockid_t clk,
                }
                smp_rmb();
 
-               if (IS_ENABLED(CONFIG_GENERIC_VDSO_CLOCK_MODE) &&
-                   vd->clock_mode == VDSO_CLOCKMODE_NONE)
+               if (unlikely(vd->clock_mode == VDSO_CLOCKMODE_NONE))
                        return -1;
+
                cycles = __arch_get_hw_counter(vd->clock_mode);
                ns = vdso_ts->nsec;
                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 >>= vd->shift;
                sec = vdso_ts->sec;