Re: [PATCH] ptp: Add vDSO-style vmclock support

From: David Woodhouse
Date: Fri Jul 26 2024 - 09:09:03 EST


On Fri, 2024-07-26 at 09:04 -0400, Michael S. Tsirkin wrote:
> On Fri, Jul 26, 2024 at 02:00:25PM +0100, David Woodhouse wrote:
> > On Fri, 2024-07-26 at 08:52 -0400, Michael S. Tsirkin wrote:
> > > On Fri, Jul 26, 2024 at 09:35:51AM +0100, David Woodhouse wrote:
> > > > But for this use case, we only need a memory region that the hypervisor
> > > > can update. We don't need any of that complexity of gratuitously
> > > > interrupting all the vCPUs just to ensure that none of them can be
> > > > running userspace while one of them does an update for itself,
> > > > potentially translating from one ABI to another. The hypervisor can
> > > > just update the user-visible memory in place.
> > >
> > > Looks like then your userspace is hypervisor specific, and that's a
> > > problem because it's a one way street - there is no way for hypervisor
> > > to know what does userspace need, so no way for hypervisor to know which
> > > information to provide. No real way to fix bugs.
> >
> > It's not hypervisor specific, but you're right that as it stands there
> > is no negotiation of what userspace wants. So the hypervisor provides
> > what it feels it can provide without significant overhead (which may or
> > may not include the precise timekeeping, as discussed, but should
> > always include the disruption signal which is the most important
> > thing).
> >
> > The guest *does* know what the hypervisor provides. And when we get to
> > do this in virtio, we get all the goodness of negotiation as well. The
> > existence of the simple ACPI model doesn't hurt that at all.
>
> Maybe it doesn't, at that. E.g. virtio does a copy, acpi doesn't?
> I'll ponder compatibility over the weekend.

For clarity, I think I've ditched the idea of a poor-man's negotiation
through invoking an ACPI method to enable the timekeeping info.

I think we're better off waiting for virtio, to enable that kind of
thing.

The guest gets what the hypervisor is prepared to offer "for free".

That isn't a one-way door; we *can* add an optional ACPI method later
if we really want to. But I'm generally OK with "use virtio if you want
that".

Attachment: smime.p7s
Description: S/MIME cryptographic signature