Re: [PATCH v3 00/15] KVM: Dynamically size memslot arrays

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

 



On Tue, Dec 03, 2019 at 02:14:33PM -0800, Sean Christopherson wrote:
> On Thu, Oct 24, 2019 at 04:07:29PM -0700, Sean Christopherson wrote:
> > The end goal of this series is to dynamically size the memslot array so
> > that KVM allocates memory based on the number of memslots in use, as
> > opposed to unconditionally allocating memory for the maximum number of
> > memslots.  On x86, each memslot consumes 88 bytes, and so with 2 address
> > spaces of 512 memslots, each VM consumes ~90k bytes for the memslots.
> > E.g. given a VM that uses a total of 30 memslots, dynamic sizing reduces
> > the memory footprint from 90k to ~2.6k bytes.
> > 
> > The changes required to support dynamic sizing are relatively small,
> > e.g. are essentially contained in patches 14/15 and 15/15.  Patches 1-13
> > clean up the memslot code, which has gotten quite crusty, especially
> > __kvm_set_memory_region().  The clean up is likely not strictly necessary
> > to switch to dynamic sizing, but I didn't have a remotely reasonable
> > level of confidence in the correctness of the dynamic sizing without first
> > doing the clean up.
> > 
> > Christoffer, I added your Tested-by to the patches that I was confident
> > would be fully tested based on the desription of what you tested.  Let me
> > know if you disagree with any of 'em.
> > 
> > v3:
> >   - Fix build errors on PPC and MIPS due to missed params during
> >     refactoring [kbuild test robot].
> >   - Rename the helpers for update_memslots() and add comments describing
> >     the new algorithm and how it interacts with searching [Paolo].
> >   - Remove the unnecessary and obnoxious warning regarding memslots being
> >     a flexible array [Paolo].
> >   - Fix typos in the changelog of patch 09/15 [Christoffer].
> >   - Collect tags [Christoffer].
> > 
> > v2:
> >   - Split "Drop kvm_arch_create_memslot()" into three patches to move
> >     minor functional changes to standalone patches [Janosch].
> >   - Rebase to latest kvm/queue (f0574a1cea5b, "KVM: x86: fix ...")
> >   - Collect an Acked-by and a Reviewed-by
> 
> Paolo, do you want me to rebase this to the latest kvm/queue?

Ping.

Applies cleanly on the current kvm/queue and nothing caught fire in
testing (though I only re-tested the series as a whole).



[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