On Tue, Aug 11, 2026, David Woodhouse wrote:
> On Tue, 2026-08-11 at 14:46 -0700, Sean Christopherson wrote:
> > On Tue, Aug 11, 2026, David Woodhouse wrote:
> > > On Tue, 2026-08-11 at 11:41 -0700, Sean Christopherson wrote:
> > > 
> > > > 
> > > > Ok, I think I finally understand the goal.  I got turned around by the 
> > > > combination
> > > > of the name SET_CLOCK_GUEST and the full pvclock structure being passed 
> > > > to the
> > > > guest.  I was expecting SET_CLOCK_GUEST to literally set the entire 
> > > > clock, e.g.
> > > > mul+shift, timestamp, etc.
> > > 
> > > That's an implementation detail. 
> > 
> > Yes and no.  If the payload didn't literally have all the assets needed to 
> > set
> > the kvmclock fields, then I wouldn't care.  But I don't think I'd be the 
> > only
> > person to see a GET+SET pair and expect GET to return exactly what was 
> > written
> > via SET.
> 
> Sure, but right now, even a sequence of GET+GET+GET won't necessarily return
> the same answer three times in a row — not just because we haven't fully
> eliminated the non-masterclock mode (which we might never do) but because the
> masterclock mode itself isn't truly the first-class citizen — so we have to
> kind of reverse-engineer it into the per-VM clock data, and then build each
> vCPU's pvclock back out of that again.

True.

> We *ought* to live in a world where that pvclock information *is* the
> canonical source of truth, and any series of GET/SET/GET/GET/SET should never
> see it change. And we can build our future-looking API around that model.
> 
> I think I do stand by my claim that SET/GET/GET potentially having *three*
> slightly different sets of data is an implementation detail that we will
> strive to eliminate.

I'm not totally opposed to a broader GET, but we should definitely get Paolo's
eyes on this sooner than later.

Reply via email to