ktime: Kill non-scalar ktime_t implementation for 2038
authorJohn Stultz <john.stultz@linaro.org>
Wed, 16 Jul 2014 21:03:53 +0000 (21:03 +0000)
committerJohn Stultz <john.stultz@linaro.org>
Wed, 23 Jul 2014 17:16:50 +0000 (10:16 -0700)
commit24e4a8c3e8868874835b0f1ad6dd417341e99822
treed71c666cc53db7e0d906e838f23ff67855b86b6b
parent76f4108892d9a9e3408bba839914f97a54086a6f
ktime: Kill non-scalar ktime_t implementation for 2038

The non-scalar ktime_t implementation is basically a timespec
which has to be changed to support dates past 2038 on 32bit
systems.

This patch removes the non-scalar ktime_t implementation, forcing
the scalar s64 nanosecond version on all architectures.

This may have additional performance overhead on some 32bit
systems when converting between ktime_t and timespec structures,
however the majority of 32bit systems (arm and i386) were already
using scalar ktime_t, so no performance regressions will be seen
on those platforms.

On affected platforms, I'm open to finding optimizations, including
avoiding converting to timespecs where possible.

[ tglx: We can now cleanup the ktime_t.tv64 mess, but thats a
  different issue and we can throw a coccinelle script at it ]

Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Stultz <john.stultz@linaro.org>
arch/arm/Kconfig
arch/hexagon/Kconfig
arch/s390/Kconfig
arch/x86/Kconfig
include/linux/ktime.h
include/linux/time.h
kernel/time/Kconfig
kernel/time/hrtimer.c
kernel/time/timekeeping.c