]> git.baikalelectronics.ru Git - kernel.git/commitdiff
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 865e888bb84f74e6ad9bdebe1fa9c45ed6969e9a..65e4482e384981e260f9e52a21d2abceaac1caae 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 7809d4976269683125cdd1c4a0a6da7c2bd12caf..c6c32fb7f546665bc3028b7bfff83cbefb51f9d6 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 23b5c0578776e0e782ae4c092af51119afe7ccc5..654369a7209d02114260e2f6bf6aeda8ca91c72d 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 698e9c835cc50801f317845e488f50b0f2b135de..8b995db3d10f718ae2d794b1b204d52c56a106e0 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 cec543d9e87bf99304efea9f7771d745630d3f69..4a28797495d7965753952566d0e3fc56f036a60d 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 6d5ed1b4d24de91d1bffffde4b9f1fa258ecf9f5..7fefe0b21a14feae134a0073d7ffba75591449bc 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 f9a5178c69bbc49f6e6da345383c556dbcb9b707..d31a5ef4ade51bfcf3bf446e95f351b3d255c2aa 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 d9f43c84fcc605f66ef66f75c0a52b1a7ca7fdb7..d883ac29950897801f3a597cc90d42ae6d696524 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 3f2d8b859130290bde1241a608406f7539994e1c..00f8d1f1405b96111e9574caf6a525e591a3a8ae 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;