aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/timekeeper_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/timekeeper_internal.h')
-rw-r--r--include/linux/timekeeper_internal.h6
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 @@
14/** 14/**
15 * struct tk_read_base - base structure for timekeeping readout 15 * struct tk_read_base - base structure for timekeeping readout
16 * @clock: Current clocksource used for timekeeping. 16 * @clock: Current clocksource used for timekeeping.
17 * @read: Read function of @clock
18 * @mask: Bitmask for two's complement subtraction of non 64bit clocks 17 * @mask: Bitmask for two's complement subtraction of non 64bit clocks
19 * @cycle_last: @clock cycle value at last update 18 * @cycle_last: @clock cycle value at last update
20 * @mult: (NTP adjusted) multiplier for scaled math conversion 19 * @mult: (NTP adjusted) multiplier for scaled math conversion
21 * @shift: Shift value for scaled math conversion 20 * @shift: Shift value for scaled math conversion
22 * @xtime_nsec: Shifted (fractional) nano seconds offset for readout 21 * @xtime_nsec: Shifted (fractional) nano seconds offset for readout
23 * @base: ktime_t (nanoseconds) base time for readout 22 * @base: ktime_t (nanoseconds) base time for readout
23 * @base_real: Nanoseconds base value for clock REALTIME readout
24 * 24 *
25 * This struct has size 56 byte on 64 bit. Together with a seqcount it 25 * This struct has size 56 byte on 64 bit. Together with a seqcount it
26 * occupies a single 64byte cache line. 26 * occupies a single 64byte cache line.
27 * 27 *
28 * The struct is separate from struct timekeeper as it is also used 28 * The struct is separate from struct timekeeper as it is also used
29 * for a fast NMI safe accessors. 29 * for a fast NMI safe accessors.
30 *
31 * @base_real is for the fast NMI safe accessor to allow reading clock
32 * realtime from any context.
30 */ 33 */
31struct tk_read_base { 34struct tk_read_base {
32 struct clocksource *clock; 35 struct clocksource *clock;
@@ -36,6 +39,7 @@ struct tk_read_base {
36 u32 shift; 39 u32 shift;
37 u64 xtime_nsec; 40 u64 xtime_nsec;
38 ktime_t base; 41 ktime_t base;
42 u64 base_real;
39}; 43};
40 44
41/** 45/**