diff options
Diffstat (limited to 'include/linux/timekeeper_internal.h')
| -rw-r--r-- | include/linux/timekeeper_internal.h | 19 | 
1 files changed, 19 insertions, 0 deletions
diff --git a/include/linux/timekeeper_internal.h b/include/linux/timekeeper_internal.h index fb86963859c7..25247220b4b7 100644 --- a/include/linux/timekeeper_internal.h +++ b/include/linux/timekeeper_internal.h  | |||
| @@ -49,6 +49,8 @@ struct tk_read_base { | |||
| 49 | * @offs_boot: Offset clock monotonic -> clock boottime | 49 | * @offs_boot: Offset clock monotonic -> clock boottime | 
| 50 | * @offs_tai: Offset clock monotonic -> clock tai | 50 | * @offs_tai: Offset clock monotonic -> clock tai | 
| 51 | * @tai_offset: The current UTC to TAI offset in seconds | 51 | * @tai_offset: The current UTC to TAI offset in seconds | 
| 52 | * @clock_was_set_seq: The sequence number of clock was set events | ||
| 53 | * @next_leap_ktime: CLOCK_MONOTONIC time value of a pending leap-second | ||
| 52 | * @raw_time: Monotonic raw base time in timespec64 format | 54 | * @raw_time: Monotonic raw base time in timespec64 format | 
| 53 | * @cycle_interval: Number of clock cycles in one NTP interval | 55 | * @cycle_interval: Number of clock cycles in one NTP interval | 
| 54 | * @xtime_interval: Number of clock shifted nano seconds in one NTP | 56 | * @xtime_interval: Number of clock shifted nano seconds in one NTP | 
| @@ -60,6 +62,9 @@ struct tk_read_base { | |||
| 60 | * shifted nano seconds. | 62 | * shifted nano seconds. | 
| 61 | * @ntp_error_shift: Shift conversion between clock shifted nano seconds and | 63 | * @ntp_error_shift: Shift conversion between clock shifted nano seconds and | 
| 62 | * ntp shifted nano seconds. | 64 | * ntp shifted nano seconds. | 
| 65 | * @last_warning: Warning ratelimiter (DEBUG_TIMEKEEPING) | ||
| 66 | * @underflow_seen: Underflow warning flag (DEBUG_TIMEKEEPING) | ||
| 67 | * @overflow_seen: Overflow warning flag (DEBUG_TIMEKEEPING) | ||
| 63 | * | 68 | * | 
| 64 | * Note: For timespec(64) based interfaces wall_to_monotonic is what | 69 | * Note: For timespec(64) based interfaces wall_to_monotonic is what | 
| 65 | * we need to add to xtime (or xtime corrected for sub jiffie times) | 70 | * we need to add to xtime (or xtime corrected for sub jiffie times) | 
| @@ -85,6 +90,8 @@ struct timekeeper { | |||
| 85 | ktime_t offs_boot; | 90 | ktime_t offs_boot; | 
| 86 | ktime_t offs_tai; | 91 | ktime_t offs_tai; | 
| 87 | s32 tai_offset; | 92 | s32 tai_offset; | 
| 93 | unsigned int clock_was_set_seq; | ||
| 94 | ktime_t next_leap_ktime; | ||
| 88 | struct timespec64 raw_time; | 95 | struct timespec64 raw_time; | 
| 89 | 96 | ||
| 90 | /* The following members are for timekeeping internal use */ | 97 | /* The following members are for timekeeping internal use */ | 
| @@ -104,6 +111,18 @@ struct timekeeper { | |||
| 104 | s64 ntp_error; | 111 | s64 ntp_error; | 
| 105 | u32 ntp_error_shift; | 112 | u32 ntp_error_shift; | 
| 106 | u32 ntp_err_mult; | 113 | u32 ntp_err_mult; | 
| 114 | #ifdef CONFIG_DEBUG_TIMEKEEPING | ||
| 115 | long last_warning; | ||
| 116 | /* | ||
| 117 | * These simple flag variables are managed | ||
| 118 | * without locks, which is racy, but they are | ||
| 119 | * ok since we don't really care about being | ||
| 120 | * super precise about how many events were | ||
| 121 | * seen, just that a problem was observed. | ||
| 122 | */ | ||
| 123 | int underflow_seen; | ||
| 124 | int overflow_seen; | ||
| 125 | #endif | ||
| 107 | }; | 126 | }; | 
| 108 | 127 | ||
| 109 | #ifdef CONFIG_GENERIC_TIME_VSYSCALL | 128 | #ifdef CONFIG_GENERIC_TIME_VSYSCALL | 
