Re: [PATCH RFC 5/5] KVM: This is the main part of the "moving dirty bitmaps to user space"

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

 



On 04/12/2010 11:55 PM, Fernando Luis Vazquez Cao wrote:
Sadly we don't have that for 32bit. We have to implement by ourselves.

I tested two temporary implementations for 32bit:
  1. This version using copy_from_user() and copy_to_user() with
     not nice vmalloc().
  2. Loop with __get_user() and __put_user().

The result was 1 is much faster than 2.

What about copy_from_user()/copy_to_user() through a 512 byte buffer on the kernel stack?


Reserving 512 bytes on the stack looks like too much, I'd rather kmalloc a 512 byte buffer at VM creation time and pass it down to the dirty page tracking code. Would you be OK with such an
approach?

But a generic copy_in_user() can't access that (I guess I wasn't clear - just like I want a generic set_bit_user(), I want a generic copy_in_user() instead of ifdefs in my code). But I guess we can make it as simple as possible using get_user()/put_user(), and someone will optimize it.

Alternatively use a 256 byte buffer, should be fine for the stack and for performance.

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.

--
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