Commit 09e7e29d authored by Sven Schnelle's avatar Sven Schnelle Committed by Alexander Gordeev
Browse files

s390/time: Use monotonic clock in get_cycles()



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

Signed-off-by: default avatarSven Schnelle <svens@linux.ibm.com>
Reviewed-by: default avatarHeiko Carstens <hca@linux.ibm.com>
Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
parent 4eda2606
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -196,13 +196,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);

@@ -230,6 +223,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