vdso/gettimeofday: Move the unlikely() into vdso_read_retry()

All callers of vdso_read_retry() test its return value with unlikely().
Move the unlikely into the helper to make the code easier to read.
This is equivalent to the retry function of non-vDSO seqlocks.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://patch.msgid.link/20260227-vdso-cleanups-v1-4-c848b4bc4850@linutronix.de
This commit is contained in:
Thomas Weißschuh 2026-02-27 07:43:23 +01:00 committed by Borislav Petkov (AMD)
parent a657bebd7f
commit 0c02d6df15
2 changed files with 6 additions and 6 deletions

View File

@ -53,7 +53,7 @@ static __always_inline u32 vdso_read_retry(const struct vdso_clock *vc,
smp_rmb();
seq = READ_ONCE(vc->seq);
return seq != start;
return unlikely(seq != start);
}
static __always_inline void vdso_write_seq_begin(struct vdso_clock *vc)

View File

@ -135,7 +135,7 @@ bool do_hres_timens(const struct vdso_time_data *vdns, const struct vdso_clock *
if (!vdso_get_timestamp(vd, vc, clk, &sec, &ns))
return false;
} while (unlikely(vdso_read_retry(vc, seq)));
} while (vdso_read_retry(vc, seq));
/* Add the namespace offset */
sec += offs->sec;
@ -163,7 +163,7 @@ bool do_hres(const struct vdso_time_data *vd, const struct vdso_clock *vc,
if (!vdso_get_timestamp(vd, vc, clk, &sec, &ns))
return false;
} while (unlikely(vdso_read_retry(vc, seq)));
} while (vdso_read_retry(vc, seq));
vdso_set_timespec(ts, sec, ns);
@ -188,7 +188,7 @@ bool do_coarse_timens(const struct vdso_time_data *vdns, const struct vdso_clock
seq = vdso_read_begin(vc);
sec = vdso_ts->sec;
nsec = vdso_ts->nsec;
} while (unlikely(vdso_read_retry(vc, seq)));
} while (vdso_read_retry(vc, seq));
/* Add the namespace offset */
sec += offs->sec;
@ -212,7 +212,7 @@ bool do_coarse(const struct vdso_time_data *vd, const struct vdso_clock *vc,
ts->tv_sec = vdso_ts->sec;
ts->tv_nsec = vdso_ts->nsec;
} while (unlikely(vdso_read_retry(vc, seq)));
} while (vdso_read_retry(vc, seq));
return true;
}
@ -244,7 +244,7 @@ bool do_aux(const struct vdso_time_data *vd, clockid_t clock, struct __kernel_ti
if (!vdso_get_timestamp(vd, vc, VDSO_BASE_AUX, &sec, &ns))
return false;
} while (unlikely(vdso_read_retry(vc, seq)));
} while (vdso_read_retry(vc, seq));
vdso_set_timespec(ts, sec, ns);