]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
s390/time: Use monotonic clock in get_cycles()
authorSven Schnelle <svens@linux.ibm.com>
Thu, 10 Jul 2025 07:42:29 +0000 (09:42 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Aug 2025 16:30:29 +0000 (18:30 +0200)
[ Upstream commit 09e7e29d2b49ba84bcefb3dc1657726d2de5bb24 ]

Otherwise the code might not work correctly when the clock
is changed.

Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/s390/include/asm/timex.h

index 640901f2fbc3ccfbcacaacaa4c8ece86bfdfe170..811ec531954b6328403b1901fd22e6a6c2a4bda1 100644 (file)
@@ -192,13 +192,6 @@ static inline unsigned long get_tod_clock_fast(void)
        asm volatile("stckf %0" : "=Q" (clk) : : "cc");
        return clk;
 }
-
-static inline cycles_t get_cycles(void)
-{
-       return (cycles_t) get_tod_clock() >> 2;
-}
-#define get_cycles get_cycles
-
 int get_phys_clock(unsigned long *clock);
 void init_cpu_timer(void);
 
@@ -226,6 +219,12 @@ static inline unsigned long get_tod_clock_monotonic(void)
        return tod;
 }
 
+static inline cycles_t get_cycles(void)
+{
+       return (cycles_t)get_tod_clock_monotonic() >> 2;
+}
+#define get_cycles get_cycles
+
 /**
  * tod_to_ns - convert a TOD format value to nanoseconds
  * @todval: to be converted TOD format value