diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-12-02 18:00:36 +0100 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-12-02 18:15:25 +0100 |
commit | ca5de58ba746b08c920b2024aaf01aa1500b110d (patch) | |
tree | 5e1cc6746188775e633dbfa2633ebf1acf79c1d0 /arch/s390/kernel/vdso32 | |
parent | b5e64b3de7fdd1db0a12871f7114fc1da899df8e (diff) | |
download | linux-stable-ca5de58ba746b08c920b2024aaf01aa1500b110d.tar.gz linux-stable-ca5de58ba746b08c920b2024aaf01aa1500b110d.tar.bz2 linux-stable-ca5de58ba746b08c920b2024aaf01aa1500b110d.zip |
s390/time,vdso: fix clock_gettime for CLOCK_MONOTONIC
With git commit 79c74ecbebf76732f91b82a62ce7fc8a88326962
"s390/time,vdso: convert to the new update_vsyscall interface"
the new update_vsyscall function already does the sum of xtime
and wall_to_monotonic. The old update_vsyscall function only
copied the wall_to_monotonic offset. The vdso code needs to be
modified to take this into consideration.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/vdso32')
-rw-r--r-- | arch/s390/kernel/vdso32/clock_gettime.S | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/arch/s390/kernel/vdso32/clock_gettime.S b/arch/s390/kernel/vdso32/clock_gettime.S index 5be8e472f57d..65fc3979c2f1 100644 --- a/arch/s390/kernel/vdso32/clock_gettime.S +++ b/arch/s390/kernel/vdso32/clock_gettime.S @@ -46,18 +46,13 @@ __kernel_clock_gettime: jnm 3f a %r0,__VDSO_TK_MULT(%r5) 3: alr %r0,%r2 - al %r0,__VDSO_XTIME_NSEC(%r5) /* + tk->xtime_nsec */ - al %r1,__VDSO_XTIME_NSEC+4(%r5) - brc 12,4f - ahi %r0,1 -4: al %r0,__VDSO_WTOM_NSEC(%r5) /* + wall_to_monotonic.nsec */ + al %r0,__VDSO_WTOM_NSEC(%r5) al %r1,__VDSO_WTOM_NSEC+4(%r5) brc 12,5f ahi %r0,1 5: l %r2,__VDSO_TK_SHIFT(%r5) /* Timekeeper shift */ srdl %r0,0(%r2) /* >> tk->shift */ - l %r2,__VDSO_XTIME_SEC+4(%r5) - al %r2,__VDSO_WTOM_SEC+4(%r5) + l %r2,__VDSO_WTOM_SEC+4(%r5) cl %r4,__VDSO_UPD_COUNT+4(%r5) /* check update counter */ jne 1b basr %r5,0 |