diff options
author | Vincenzo Frascino <vincenzo.frascino@arm.com> | 2020-03-24 13:10:27 +0100 |
---|---|---|
committer | Vasily Gorbik <gor@linux.ibm.com> | 2020-06-16 13:44:05 +0200 |
commit | 478237a595120a18e9b52fd2c57a6e8b7a01e411 (patch) | |
tree | fcb7882ee08eb40adf83d5d59763ca111a561ef3 /arch/s390/include/asm/vdso.h | |
parent | s390/vdso: Use $(LD) instead of $(CC) to link vDSO (diff) | |
download | linux-478237a595120a18e9b52fd2c57a6e8b7a01e411.tar.xz linux-478237a595120a18e9b52fd2c57a6e8b7a01e411.zip |
s390/vdso: fix vDSO clock_getres()
clock_getres in the vDSO library has to preserve the same behaviour
of posix_get_hrtimer_res().
In particular, posix_get_hrtimer_res() does:
sec = 0;
ns = hrtimer_resolution;
and hrtimer_resolution depends on the enablement of the high
resolution timers that can happen either at compile or at run time.
Fix the s390 vdso implementation of clock_getres keeping a copy of
hrtimer_resolution in vdso data and using that directly.
Link: https://lkml.kernel.org/r/20200324121027.21665-1-vincenzo.frascino@arm.com
Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
[heiko.carstens@de.ibm.com: use llgf for proper zero extension]
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/vdso.h')
-rw-r--r-- | arch/s390/include/asm/vdso.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/include/asm/vdso.h b/arch/s390/include/asm/vdso.h index 3bcfdeb01395..0cd085cdeb4f 100644 --- a/arch/s390/include/asm/vdso.h +++ b/arch/s390/include/asm/vdso.h @@ -36,6 +36,7 @@ struct vdso_data { __u32 tk_shift; /* Shift used for xtime_nsec 0x60 */ __u32 ts_dir; /* TOD steering direction 0x64 */ __u64 ts_end; /* TOD steering end 0x68 */ + __u32 hrtimer_res; /* hrtimer resolution 0x70 */ }; struct vdso_per_cpu_data { |