Re: [RFC PATCH 0/2] Expose available KVM free memory slot count to help avoid aborts

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

 



On 01/25/2011 04:55 PM, Michael S. Tsirkin wrote:
>
>  We can't make it unbounded in the kernel, since a malicious user
>  could start creating an infinite amount of memory slots, pinning
>  unbounded kernel memory.

How about keeping the slots in userspace memory, access them with copy
from user?

Some of the data is validated by the kernel, so it needs a kernel copy. Other fields are completely internal to the kernel.

>  If we make the limit much larger, we should start to think about
>  efficiency.  Every mmio vmexit is currently a linear scan of the
>  memory slot table, which is efficient at a small number of slots,
>  but not at a large number.  We could conceivably encode the "no
>  slot" information into a bit in the not-present spte.

OK, but the slots that Alex here wants to use are presumably
mostly not resulting in a pagefault at all, right?
Can we split such guys out so they don't slow mmio lookup?
Maybe keep *these* in userspace memory.

The algorithm is:

  page fault:
    for each slot:
       if addr in slot:
          populate spte
          return
    # no slot matches
    mmio

so we have to try out all slots before we find out none of them are needed.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[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