Thread (40 messages) 40 messages, 3 authors, 2016-08-02

RE: [virtio-dev] Re: [PATCH v2 repost 4/7] virtio-balloon: speed up inflate/deflate process

From: Li, Liang Z <hidden>
Date: 2016-07-28 06:36:34
Also in: kvm, lkml, qemu-devel

quoted
quoted
This ends up doing a 1MB kmalloc() right?  That seems a _bit_ big.
How big was the pfn buffer before?
Yes, it is if the max pfn is more than 32GB.
The size of the pfn buffer use before is 256*4 = 1024 Bytes, it's too
small, and it's the main reason for bad performance.
Use the max 1MB kmalloc is a balance between performance and
flexibility, a large page bitmap covers the range of all the memory is
no good for a system with huge amount of memory. If the bitmap is too
small, it means we have to traverse a long list for many times, and it's bad
for performance.
quoted
Thanks!
Liang
There are all your implementation decisions though.

If guest memory is so fragmented that you only have order 0 4k pages, then
allocating a huge 1M contigious chunk is very problematic in and of itself.
The memory is allocated in the probe stage. This will not happen if the driver is
 loaded when booting the guest.
Most people rarely migrate and do not care how fast that happens.
Wasting a large chunk of memory (and it's zeroed for no good reason, so you
actually request host memory for it) for everyone to speed it up when it
does happen is not really an option.
If people don't plan to do inflating/deflating, they should not enable the virtio-balloon
at the beginning, once they decide to use it, the driver should provide better performance
as much as possible.

1MB is a very small portion for a VM with more than 32GB memory and it's the *worst case*, 
for VM with less than 32GB memory, the amount of RAM depends on VM's memory size
and will be less than 1MB.

If 1MB is too big, how about 512K, or 256K?  32K seems too small.

Liang
--
MST

---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help