diff options
| author | David Howells <dhowells@redhat.com> | 2017-11-13 15:36:33 +0000 |
|---|---|---|
| committer | David Howells <dhowells@redhat.com> | 2017-11-13 15:36:33 +0000 |
| commit | 81445e63e67a1e98b1c2575fa2b406d4289d2754 (patch) | |
| tree | 2d121d1873b3e8ec7b71086c4db2f5cb207a46ec /include/linux/timekeeper_internal.h | |
| parent | ede372dcae15d3ba1d3d52ac45be7a27ce31be28 (diff) | |
| parent | b24591e2fcf852ad7ad2ccf745c8220bf378d312 (diff) | |
Merge remote-tracking branch 'tip/timers/core' into afs-next
These AFS patches need the timer_reduce() patch from timers/core.
Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'include/linux/timekeeper_internal.h')
| -rw-r--r-- | include/linux/timekeeper_internal.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/timekeeper_internal.h b/include/linux/timekeeper_internal.h index 97154c61e5d2..7e9011101cb0 100644 --- a/include/linux/timekeeper_internal.h +++ b/include/linux/timekeeper_internal.h @@ -14,19 +14,22 @@ /** * struct tk_read_base - base structure for timekeeping readout * @clock: Current clocksource used for timekeeping. - * @read: Read function of @clock * @mask: Bitmask for two's complement subtraction of non 64bit clocks * @cycle_last: @clock cycle value at last update * @mult: (NTP adjusted) multiplier for scaled math conversion * @shift: Shift value for scaled math conversion * @xtime_nsec: Shifted (fractional) nano seconds offset for readout * @base: ktime_t (nanoseconds) base time for readout + * @base_real: Nanoseconds base value for clock REALTIME readout * * This struct has size 56 byte on 64 bit. Together with a seqcount it * occupies a single 64byte cache line. * * The struct is separate from struct timekeeper as it is also used * for a fast NMI safe accessors. + * + * @base_real is for the fast NMI safe accessor to allow reading clock + * realtime from any context. */ struct tk_read_base { struct clocksource *clock; @@ -36,6 +39,7 @@ struct tk_read_base { u32 shift; u64 xtime_nsec; ktime_t base; + u64 base_real; }; /** |
