Thread (63 messages) 63 messages, 9 authors, 2024-07-06

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help