Thread (24 messages) 24 messages, 4 authors, 2017-02-04

RE: [PATCH v6 kernel 0/5] Extend virtio-balloon for fast (de)inflating & fast live migration

From: Li, Liang Z <hidden>
Date: 2017-01-18 13:33:17
Also in: kvm, lkml, qemu-devel

Am 21.12.2016 um 07:52 schrieb Liang Li:
quoted
This patch set contains two parts of changes to the virtio-balloon.

One is the change for speeding up the inflating & deflating process,
the main idea of this optimization is to use {pfn|length} to present
the page information instead of the PFNs, to reduce the overhead of
virtio data transmission, address translation and madvise(). This can
help to improve the performance by about 85%.

Another change is for speeding up live migration. By skipping process
guest's unused pages in the first round of data copy, to reduce
needless data processing, this can help to save quite a lot of CPU
cycles and network bandwidth. We put guest's unused page information
in a {pfn|length} array and send it to host with the virt queue of
virtio-balloon. For an idle guest with 8GB RAM, this can help to
shorten the total live migration time from 2Sec to about 500ms in
10Gbps network environment. For an guest with quite a lot of page
cache and with little unused pages, it's possible to let the guest
drop it's page cache before live migration, this case can benefit from this
new feature too.

I agree that both changes make sense (although the second change just
smells very racy, as you also pointed out in the patch description), however I
am not sure if virtio-balloon is really the right place for the latter change.

virtio-balloon is all about ballooning, nothing else. What you're doing is using
it as a way to communicate balloon-unrelated data from/to the hypervisor.
Yes, it is also about guest memory, but completely unrelated to the purpose
of the balloon device.

Maybe using virtio-balloon for this purpose is okay - I have mixed feelings
(especially as I can't tell where else this could go). I would like to get a second
opinion on this.
We have ever discussed the implementation for a long time, making use the current
virtio balloon seems better than the other solutions and is recommended by Michael.

Thanks!
Liang
--

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