Re: [RFC PATCH v2] ptp: Add vDSO-style vmclock support
From: John Stultz <jstultz@google.com>
Date: 2024-06-25 22:22:14
Also in:
linux-arm-kernel, linux-rtc, lkml, virtualization
On Tue, Jun 25, 2024 at 2:48 PM David Woodhouse [off-list ref] wrote:
On Tue, 2024-06-25 at 23:34 +0200, Thomas Gleixner wrote:quoted
On Tue, Jun 25 2024 at 20:01, David Woodhouse wrote:quoted
From: David Woodhouse <redacted> The vmclock "device" provides a shared memory region with precision clock information. By using shared memory, it is safe across Live Migration. Like the KVM PTP clock, this can convert TSC-based cross timestamps into KVM clock values. Unlike the KVM PTP clock, it does so only when such is actually helpful. The memory region of the device is also exposed to userspace so it can be read or memory mapped by application which need reliable notification of clock disruptions.There is effort underway to expose PTP clocks to user space via VDSO.Ooh, interesting. Got a reference to that please?quoted
Can we please not expose an ad hoc interface for that?Absolutely. I'm explicitly trying to intercept the virtio-rtc specification here, to *avoid* having to do anything ad hoc. Note that this is a "vDSO-style" interface from hypervisor to guest via a shared memory region, not necessarily an actual vDSO. But yes, it *is* intended to be exposed to userspace, so that userspace can know the *accurate* time without a system call, and know that it hasn't been perturbed by live migration.
Yea, I was going to raise a concern that just defining an mmaped structure means it has to trust the guest logic is as expected. It's good that it's versioned! :) I'd fret a bit about exposing this to userland. It feels very similar to the old powerpc systemcfg implementation that similarly mapped just kernel data out to userland and was difficult to maintain as changes were made. Would including a code page like a proper vdso make sense to make this more flexible of an UABI to maintain? thanks -john