Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

timekeeping: Prepare timekeeping_update_from_shadow()

Don't invoke the VDSO and paravirt updates when utilized for auxiliary
clocks. This is a temporary workaround until the VDSO and paravirt
interfaces have been worked out.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250519083026.223876435@linutronix.de


+8 -6
+8 -6
kernel/time/timekeeping.c
··· 683 683 684 684 tk_update_leap_state(tk); 685 685 tk_update_ktime_data(tk); 686 - 687 - update_vsyscall(tk); 688 - update_pvclock_gtod(tk, action & TK_CLOCK_WAS_SET); 689 - 690 686 tk->tkr_mono.base_real = tk->tkr_mono.base + tk->offs_real; 691 - update_fast_timekeeper(&tk->tkr_mono, &tk_fast_mono); 692 - update_fast_timekeeper(&tk->tkr_raw, &tk_fast_raw); 687 + 688 + if (tk->id == TIMEKEEPER_CORE) { 689 + update_vsyscall(tk); 690 + update_pvclock_gtod(tk, action & TK_CLOCK_WAS_SET); 691 + 692 + update_fast_timekeeper(&tk->tkr_mono, &tk_fast_mono); 693 + update_fast_timekeeper(&tk->tkr_raw, &tk_fast_raw); 694 + } 693 695 694 696 if (action & TK_CLOCK_WAS_SET) 695 697 tk->clock_was_set_seq++;