diff options
author | Chris Metcalf <cmetcalf@tilera.com> | 2014-10-02 10:32:15 -0400 |
---|---|---|
committer | Chris Metcalf <cmetcalf@tilera.com> | 2014-10-02 13:56:07 -0400 |
commit | 78410af51146796f783925009c8676a30d6c6d90 (patch) | |
tree | 9d1acdab6ef79c6ce121c7ea7cd5c90d25d52c2d /arch/tile/include | |
parent | 94fb1afbcb3e1f8666c9065baded2cb66e72126f (diff) | |
download | talos-obmc-linux-78410af51146796f783925009c8676a30d6c6d90.tar.gz talos-obmc-linux-78410af51146796f783925009c8676a30d6c6d90.zip |
tile: add clock_gettime support to vDSO
This change adds support for clock_gettime with CLOCK_REALTIME
and CLOCK_MONOTONIC using vDSO. It also updates the vdso
struct nomenclature used for the clocks to match the x86 code
to keep it easier to update going forward.
We also support the *_COARSE clockid_t, for apps that want speed
but aren't concerned about fine-grained timestamps; this saves
about 20 cycles per call (see http://lwn.net/Articles/342018/).
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Acked-by: John Stultz <john.stultz@linaro.org>
Diffstat (limited to 'arch/tile/include')
-rw-r--r-- | arch/tile/include/asm/vdso.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/arch/tile/include/asm/vdso.h b/arch/tile/include/asm/vdso.h index d64b0d58a7e9..9b069692153f 100644 --- a/arch/tile/include/asm/vdso.h +++ b/arch/tile/include/asm/vdso.h @@ -29,13 +29,18 @@ struct vdso_data { seqcount_t tz_seq; /* Timezone seqlock */ seqcount_t tb_seq; /* Timebase seqlock */ - __u64 xtime_tod_stamp; /* TOD clock for xtime */ - __u64 xtime_clock_sec; /* Kernel time second */ - __u64 xtime_clock_nsec; /* Kernel time nanosecond */ - __u64 wtom_clock_sec; /* Wall to monotonic clock second */ - __u64 wtom_clock_nsec; /* Wall to monotonic clock nanosecond */ + __u64 cycle_last; /* TOD clock for xtime */ + __u64 mask; /* Cycle mask */ __u32 mult; /* Cycle to nanosecond multiplier */ __u32 shift; /* Cycle to nanosecond divisor (power of two) */ + __u64 wall_time_sec; + __u64 wall_time_snsec; + __u64 monotonic_time_sec; + __u64 monotonic_time_snsec; + __u64 wall_time_coarse_sec; + __u64 wall_time_coarse_nsec; + __u64 monotonic_time_coarse_sec; + __u64 monotonic_time_coarse_nsec; __u32 tz_minuteswest; /* Minutes west of Greenwich */ __u32 tz_dsttime; /* Type of dst correction */ }; |