Re: [patch 08/24] timekeeping: Remove system_time_snapshot::real/boot
From: Thomas Weißschuh
Date: Wed May 27 2026 - 03:18:00 EST
On Tue, May 26, 2026 at 07:14:08PM +0200, Thomas Gleixner wrote:
> All users are converted over to ktime_get_snapshot_id() and
> system_time_snapshot::sys.
>
> Remove the leftovers.
>
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxx>
Reviewed-by: Thomas Weißschuh <thomas.weissschuh@xxxxxxxxxxxxx>
> ---
> include/linux/timekeeping.h | 4 ----
> kernel/time/timekeeping.c | 8 --------
> 2 files changed, 12 deletions(-)
>
> --- a/include/linux/timekeeping.h
> +++ b/include/linux/timekeeping.h
> @@ -280,8 +280,6 @@ static inline bool ktime_get_aux_ts64(cl
> * a selected CLOCK_* and the clocksource counter value
> * @cycles: Clocksource counter value to produce the system times
> * @sys: The system time of the selected CLOCK ID
> - * @real: Realtime system time
> - * @boot: Boot time
> * @raw: Monotonic raw system time
> * @cs_id: Clocksource ID
> * @clock_was_set_seq: The sequence number of clock-was-set events
> @@ -291,8 +289,6 @@ static inline bool ktime_get_aux_ts64(cl
> struct system_time_snapshot {
> u64 cycles;
> ktime_t sys;
> - ktime_t real;
> - ktime_t boot;
> ktime_t raw;
> enum clocksource_ids cs_id;
> unsigned int clock_was_set_seq;
> --- a/kernel/time/timekeeping.c
> +++ b/kernel/time/timekeeping.c
> @@ -1196,8 +1196,6 @@ bool ktime_get_snapshot_id(struct system
> struct timekeeper *tk;
> struct tk_data *tkd;
> unsigned int seq;
> - ktime_t base_real;
> - ktime_t base_boot;
>
> /* Invalidate the snapshot for all failure cases */
> systime_snapshot->valid = false;
> @@ -1239,18 +1237,12 @@ bool ktime_get_snapshot_id(struct system
> offs_sys = *offs;
> base_raw = tk->tkr_raw.base;
>
> - /* Kept around until the callers are fixed up */
> - base_real = ktime_add(base_sys, tk_core.timekeeper.offs_real);
> - base_boot = ktime_add(base_sys, tk_core.timekeeper.offs_boot);
> -
In patch 1 I was confused slightly why only these two lines use tk_core,
while everything else uses tk->, even base_sys.
Functionally it doesn't make a difference, but for clarity this could be more
consistent.
> nsec_sys = timekeeping_cycles_to_ns(&tk->tkr_mono, now);
> nsec_raw = timekeeping_cycles_to_ns(&tk->tkr_raw, now);
> } while (read_seqcount_retry(&tkd->seq, seq));
>
> systime_snapshot->cycles = now;
> systime_snapshot->sys = ktime_add_ns(base_sys, offs_sys + nsec_sys);
> - systime_snapshot->real = ktime_add_ns(base_real, nsec_sys);
> - systime_snapshot->boot = ktime_add_ns(base_boot, nsec_sys);
> systime_snapshot->raw = ktime_add_ns(base_raw, nsec_raw);
>
> /*
>