summaryrefslogtreecommitdiffstats
path: root/arch/ia64/Kconfig
diff options
context:
space:
mode:
authorTony Luck <tony.luck@intel.com>2017-10-31 10:43:39 -0700
committerTony Luck <tony.luck@intel.com>2017-10-31 10:58:36 -0700
commitd4d1fc61eb38ff8e5af657e2d2f2290859a277f2 (patch)
tree7ea81dfb26bb9efa59638d7985b8cb49efd6d8bd /arch/ia64/Kconfig
parent0b07194bb55ed836c2cc7c22e866b87a14681984 (diff)
downloadlinux-d4d1fc61eb38ff8e5af657e2d2f2290859a277f2.tar.gz
linux-d4d1fc61eb38ff8e5af657e2d2f2290859a277f2.tar.bz2
linux-d4d1fc61eb38ff8e5af657e2d2f2290859a277f2.zip
ia64: Update fsyscall gettime to use modern vsyscall_update
John Stultz provided the outline for this patch back in May 2014 here: http://patches.linaro.org/patch/30501/ but I let this sit on the shelf for too long and in the intervening years almost every field in "struct timekeeper" was changed. So this is almost completely different from his original. Though the key change in arch/ia64/kernel/fsys.S remains the same. The core logic change with the updated vsyscall method is that we preserve the base nanosecond value in shifted nanoseconds, which allows us to avoid truncating and rounding up to the next nanosecond every tick to avoid inconsistencies. Thus the logic moved from nsec = ((cycle_delta * mult)>>shift) + base_nsec; to nsec = ((cycle_delta * mult) + base_snsec) >> shift; Cc: John Stultz <john.stultz@linaro.org> Cc: linux-ia64@vger.kernel.org Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/Kconfig')
-rw-r--r--arch/ia64/Kconfig2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 6a15083cc366..4d032e7f1637 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -46,7 +46,7 @@ config IA64
select ARCH_TASK_STRUCT_ALLOCATOR
select ARCH_THREAD_STACK_ALLOCATOR
select ARCH_CLOCKSOURCE_DATA
- select GENERIC_TIME_VSYSCALL_OLD
+ select GENERIC_TIME_VSYSCALL
select SYSCTL_ARCH_UNALIGN_NO_WARN
select HAVE_MOD_ARCH_SPECIFIC
select MODULES_USE_ELF_RELA