Re: Latency issues inside KVM.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 1, 2023 at 7:51 AM Sean Christopherson <seanjc@xxxxxxxxxx> wrote:
>
> On Sat, Apr 29, 2023, Robert Hoo wrote:
> > On 4/27/2023 8:38 PM, zhuangel570 wrote:
> > > - kvm_vm_create_worker_thread introduce tail latency more than 100ms.
> > >    This function was called when create "kvm-nx-lpage-recovery" kthread when
> > >    create a new VM, this patch was introduced to recovery large page to relief
> > >    performance loss caused by software mitigation of ITLB_MULTIHIT, see
> > >    b8e8c8303ff2 ("kvm: mmu: ITLB_MULTIHIT mitigation") and 1aa9b9572b10
> > >    ("kvm: x86: mmu: Recovery of shattered NX large pages").
> > >
> > Yes, this kthread is for NX-HugePage feature and NX-HugePage in turn is to
> > SW mitigate itlb-multihit issue.
> > However, HW level mitigation has been available for quite a while, you can
> > check "/sys/devices/system/cpu/vulnerabilities/itlb_multihit" for your
> > system's mitigation status.
> > I believe most recent Intel CPUs have this HW mitigated (check
> > MSR_ARCH_CAPABILITIES::IF_PSCHANGE_MC_NO), let alone non-Intel CPUs.
> > But, the kvm_vm_create_worker_thread is still created anyway, nonsense I
> > think. I previously had a internal patch getting rid of it but didn't get a
> > chance to send out.
>
> For the NX hugepage mitation, I think it makes sense to restart the discussion
> in the context of this thread: https://lore.kernel.org/all/ZBxf+ewCimtHY2XO@xxxxxxxxxx
>
> TL;DR: I am open to providng an option to hard disable the mitigation, but there
> needs to be sufficient justification, e.g. that the above 100ms latency is a
> problem for real world deployments.

Whatever became of
https://lore.kernel.org/kvm/20220613212523.3436117-1-bgardon@xxxxxxxxxx/?

> > As more and more old CPUs retires, I think NX-HugePage code will become more
> > and more minority code path/situation, and be refactored out eventually one
> > day.
>
> Heh, yeah, one day.  But "one day" is likely 10+ years away.  Intel discontinuing
> a CPU has practically zero relevance to KVM removing support a CPU, e.g. KVM still
> supports the original Core CPUs from ~2006, which were launched in 2006 and
> discontinued in 2008.




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux