Re: [GIT PULL] KVM: x86: MMU changes for 6.9

From: Paolo Bonzini
Date: Thu Mar 14 2024 - 14:43:57 EST


On Thu, Mar 14, 2024 at 7:38 PM Sean Christopherson <seanjc@xxxxxxxxxx> wrote:
>
> On Thu, Mar 14, 2024, Paolo Bonzini wrote:
> > On Fri, Mar 8, 2024 at 11:37 PM Sean Christopherson <seanjc@xxxxxxxxxx> wrote:
> > >
> > > - Zap TDP MMU roots at 4KiB granularity to minimize the delay in yielding if
> > > a reschedule is needed, e.g. if a high priority task needs to run. Because
> > > KVM doesn't support yielding in the middle of processing a zapped non-leaf
> > > SPTE, zapping at 1GiB granularity can result in multi-millisecond lag when
> > > attempting to schedule in a high priority.
> > >
> >
> > Would 2 MiB provide a nice middle ground?
>
> Not really?
>
> Zapping at 2MiB definitely fixes the worst of the tail latencies, but there is
> still a measurable difference between 2MiB and 4KiB.

Yeah, but you said multi millisecond so I guessed 5/512 is a 10
microsecond latency, which should be pretty acceptable (for PREEMPT_RT
tests at Red Hat we shoot at 10-15 worst case, so for CONFIG_PREEMPT
it would be more than enough).

> And on the other side of the
> coing, I was unable to observe a meaningful difference in total runtime by zapping
> at 2MiB, or even 1GiB, versus 4KiB.

Ok, that's the answer.

Paolo

> In other words, AFAICT, there's no need to shoot for a middle ground because trying
> to zap at larger granularities doesn't buy us anything.
>