diff options
author | John Stultz <john.stultz@linaro.org> | 2014-07-16 17:03:53 -0400 |
---|---|---|
committer | John Stultz <john.stultz@linaro.org> | 2014-07-23 13:16:50 -0400 |
commit | 24e4a8c3e8868874835b0f1ad6dd417341e99822 (patch) | |
tree | d71c666cc53db7e0d906e838f23ff67855b86b6b /arch | |
parent | 76f4108892d9a9e3408bba839914f97a54086a6f (diff) |
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/Kconfig | 1 | ||||
-rw-r--r-- | arch/hexagon/Kconfig | 1 | ||||
-rw-r--r-- | arch/s390/Kconfig | 1 | ||||
-rw-r--r-- | arch/x86/Kconfig | 1 |
4 files changed, 0 insertions, 4 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 05a71511ab3c..b9f6728331c8 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -64,7 +64,6 @@ config ARM | |||
64 | select HAVE_UID16 | 64 | select HAVE_UID16 |
65 | select HAVE_VIRT_CPU_ACCOUNTING_GEN | 65 | select HAVE_VIRT_CPU_ACCOUNTING_GEN |
66 | select IRQ_FORCED_THREADING | 66 | select IRQ_FORCED_THREADING |
67 | select KTIME_SCALAR | ||
68 | select MODULES_USE_ELF_REL | 67 | select MODULES_USE_ELF_REL |
69 | select NO_BOOTMEM | 68 | select NO_BOOTMEM |
70 | select OLD_SIGACTION | 69 | select OLD_SIGACTION |
diff --git a/arch/hexagon/Kconfig b/arch/hexagon/Kconfig index 0fd6138f6203..4dc89d1f9c48 100644 --- a/arch/hexagon/Kconfig +++ b/arch/hexagon/Kconfig | |||
@@ -23,7 +23,6 @@ config HEXAGON | |||
23 | select GENERIC_IOMAP | 23 | select GENERIC_IOMAP |
24 | select GENERIC_SMP_IDLE_THREAD | 24 | select GENERIC_SMP_IDLE_THREAD |
25 | select STACKTRACE_SUPPORT | 25 | select STACKTRACE_SUPPORT |
26 | select KTIME_SCALAR | ||
27 | select GENERIC_CLOCKEVENTS | 26 | select GENERIC_CLOCKEVENTS |
28 | select GENERIC_CLOCKEVENTS_BROADCAST | 27 | select GENERIC_CLOCKEVENTS_BROADCAST |
29 | select MODULES_USE_ELF_RELA | 28 | select MODULES_USE_ELF_RELA |
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index bb63499fc5d3..1afc7a686702 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig | |||
@@ -137,7 +137,6 @@ config S390 | |||
137 | select HAVE_SYSCALL_TRACEPOINTS | 137 | select HAVE_SYSCALL_TRACEPOINTS |
138 | select HAVE_UID16 if 32BIT | 138 | select HAVE_UID16 if 32BIT |
139 | select HAVE_VIRT_CPU_ACCOUNTING | 139 | select HAVE_VIRT_CPU_ACCOUNTING |
140 | select KTIME_SCALAR if 32BIT | ||
141 | select MODULES_USE_ELF_RELA | 140 | select MODULES_USE_ELF_RELA |
142 | select NO_BOOTMEM | 141 | select NO_BOOTMEM |
143 | select OLD_SIGACTION | 142 | select OLD_SIGACTION |
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index a8f749ef0fdc..7fa17b5ce668 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -111,7 +111,6 @@ config X86 | |||
111 | select ARCH_CLOCKSOURCE_DATA | 111 | select ARCH_CLOCKSOURCE_DATA |
112 | select GENERIC_CLOCKEVENTS_BROADCAST if X86_64 || (X86_32 && X86_LOCAL_APIC) | 112 | select GENERIC_CLOCKEVENTS_BROADCAST if X86_64 || (X86_32 && X86_LOCAL_APIC) |
113 | select GENERIC_TIME_VSYSCALL | 113 | select GENERIC_TIME_VSYSCALL |
114 | select KTIME_SCALAR if X86_32 | ||
115 | select GENERIC_STRNCPY_FROM_USER | 114 | select GENERIC_STRNCPY_FROM_USER |
116 | select GENERIC_STRNLEN_USER | 115 | select GENERIC_STRNLEN_USER |
117 | select HAVE_CONTEXT_TRACKING if X86_64 | 116 | select HAVE_CONTEXT_TRACKING if X86_64 |