]> git.baikalelectronics.ru Git - kernel.git/commit
Drivers: hv: balloon: Support 2M page allocations for ballooning
authorK. Y. Srinivasan <kys@microsoft.com>
Mon, 18 Mar 2013 20:51:37 +0000 (13:51 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 29 Mar 2013 16:03:21 +0000 (09:03 -0700)
commite44b540cfe5fb89d272ffea5e84044545dd57cf8
treecbeba6337915905beec3e32dbd0e6979ae8d48ea
parentc42058e1a1441fc6f938a8995075602860be0ad1
Drivers: hv: balloon: Support 2M page allocations for ballooning

On Hyper-V it will be very efficient to use 2M allocations in the guest as this
makes the ballooning protocol with the host that much more efficient. Hyper-V
uses page ranges (start pfn : number of pages) to specify memory being moved
around and with 2M pages this encoding can be very efficient. However, when
memory is returned to the guest, the host does not guarantee any granularity.
To deal with this issue, split the page soon after a successful 2M allocation
so that this memory can potentially be freed as 4K pages.

If 2M allocations fail, we revert to 4K allocations.

In this version of the patch, based on the feedback from Michal Hocko
<mhocko@suse.cz>, I have added some additional commentary to the patch
description.

Cc: Michal Hocko <mhocko@suse.cz>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/hv/hv_balloon.c