[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2a32f616-25a8-ba5a-f74c-d619fc8ab333@redhat.com>
Date: Wed, 18 Jan 2017 11:09:30 +0100
From: David Hildenbrand <david@...hat.com>
To: Liang Li <liang.z.li@...el.com>, kvm@...r.kernel.org
Cc: virtio-dev@...ts.oasis-open.org, qemu-devel@...gnu.org,
linux-mm@...ck.org, linux-kernel@...r.kernel.org,
virtualization@...ts.linux-foundation.org, amit.shah@...hat.com,
dave.hansen@...el.com, cornelia.huck@...ibm.com,
pbonzini@...hat.com, mst@...hat.com, aarcange@...hat.com,
dgilbert@...hat.com, quintela@...hat.com
Subject: Re: [PATCH v6 kernel 0/5] Extend virtio-balloon for fast
(de)inflating & fast live migration
Am 21.12.2016 um 07:52 schrieb Liang Li:
> 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.
--
David
Powered by blists - more mailing lists