diff options
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 @@ | |||
| 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 | */ |
| 31 | struct tk_read_base { | 34 | struct 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 | /** |
