diff options
| author | David Woodhouse <dwmw@amazon.co.uk> | 2026-06-21 22:53:59 +0100 |
|---|---|---|
| committer | Thomas Gleixner <tglx@kernel.org> | 2026-07-10 09:20:55 +0200 |
| commit | 34ce97c33dca9595455a63d7801e360d19fd97ed (patch) | |
| tree | a2d5fa4071aef6d5fa3a2363b14311617af81bba /tools/perf/scripts/python/syscall-counts.py | |
| parent | 289d1759494f4a97b0ca4565f3eed00964b952c4 (diff) | |
timekeeping: Settle competing time_offset and time_adjust skew
time_offset (the exponential PLL phase slew) and time_adjust (the
linear adjtime() slew) can be asked to move the clock in opposite
directions. second_overflow() folds only their *net* into the per-tick
skew_delta, so the cancelling overlap would never be drained from
either tracker by the per-tick code — and if they cancel exactly,
skew_delta is zero and neither converges at all.
Arguably we could just let one of them entirely cancel out the other
immediately, but that would be a change in userspace-visible behaviour.
Instead, preserve the existing behaviour by calculating the "conflict"
portion between the opposing skew each second, and transferring that
amount directly from one tracker to the other.
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Assisted-by: Kiro:claude-opus-4.8
Link: https://patch.msgid.link/20260621220051.1030462-7-dwmw2@infradead.org
Diffstat (limited to 'tools/perf/scripts/python/syscall-counts.py')
0 files changed, 0 insertions, 0 deletions
