Re: [PATCH v2 0/6] KVM: Improve MMIO Coalescing API

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

 



On Fri, 2024-08-23 at 16:47 -0700, Sean Christopherson wrote:
> On Thu, 18 Jul 2024 20:35:37 +0100, Ilias Stamatis wrote:
> > The current MMIO coalescing design has a few drawbacks which limit its
> > usefulness. Currently all coalesced MMIO zones use the same ring buffer.
> > That means that upon a userspace exit we have to handle potentially
> > unrelated MMIO writes synchronously. And a VM-wide lock needs to be
> > taken in the kernel when an MMIO exit occurs.
> > 
> > Additionally, there is no direct way for userspace to be notified about
> > coalesced MMIO writes. If the next MMIO exit to userspace is when the
> > ring buffer has filled then a substantial (and unbounded) amount of time
> > may have passed since the first coalesced MMIO.
> > 
> > [...]
> 
> Applied patch 1 to kvm-x86 generic.  I deliberately didn't put this in fixes or
> Cc: it for stable, as the bug has been around for sooo long without anyone
> noticing that there's basically zero chance that the bug is actively causing
> issues.
> 
> I also reworked and expanded the changelog significantly to make it more clear
> why things break, what the fallout is (KVM can _sometimes_ use the full ring),
> and to call out that the lockless scheme that the buggy commit was preparing
> for never seems to have landed.
> 
> Please take a gander at the changelog and holler if I messed anything up.
> 
> [1/6] KVM: Fix coalesced_mmio_has_room() to avoid premature userspace exit
>       https://github.com/kvm-x86/linux/commit/92f6d4130497
> 
> --
> https://github.com/kvm-x86/linux/tree/next

It looks good, thanks.

> Doh, I applied v2 instead of v3.  Though unless mine eyes deceive me,
> they're the same.

They are the same indeed.

I'm not entirely sure what's the recommended thing to do when updating
only some of the patches of a series, whether to send new versions for
the revised patches only or resend everything. I opted to do the latter
and then I called out the changes between v2 and v3 inside the patches
that were actually modified.

Thanks,
Ilias





[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