[PATCH 0/2] validate the delta of cycle_now and cycle_last on arm64

From: Yang Yingliang
Date: Tue Oct 27 2015 - 09:22:52 EST


In multi-core system, if the clock is not sync perfectly, it
will make cycle_last that recorded by CPU-A is a little more
than cycle_now that read by CPU-B. With the negative result,
hrtimer_update_base() return a huge and wrong time. It leads
to the cpu can not finish the while loop in hrtimer_interrupt()
until the real nowtime which is returned from ktime_get() catch
up with the wrong time on clock monotonic base.

Fix it by select config CLOCKSOURCE_VALIDATE_LAST_CYCLE.

Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

Yang Yingliang (2):
clocksource: replace cycle_last validation with an equal way
arm64: validate the cycle_last to prevent time going backwards

arch/arm64/Kconfig | 1 +
kernel/time/timekeeping_internal.h | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)

--
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/