summary refs log tree commit diff
path: root/include/xen
diff options
context:
space:
mode:
authorDavid Vrabel <david.vrabel@citrix.com>2015-06-25 16:29:18 +0100
committerDavid Vrabel <david.vrabel@citrix.com>2015-10-23 14:20:05 +0100
commit1cf6a6c82918c9aad4bb73a7e7379a649e4d8e50 (patch)
tree395640a0a5aeab7e0ebb807764923628f508dc54 /include/xen
parent81b286e0f1fe520f2a96f736ffa7e508ac9139ba (diff)
downloadlinux-1cf6a6c82918c9aad4bb73a7e7379a649e4d8e50.tar.gz
xen/balloon: use hotplugged pages for foreign mappings etc.
alloc_xenballooned_pages() is used to get ballooned pages to back
foreign mappings etc.  Instead of having to balloon out real pages,
use (if supported) hotplugged memory.

This makes more memory available to the guest and reduces
fragmentation in the p2m.

This is only enabled if the xen.balloon.hotplug_unpopulated sysctl is
set to 1.  This sysctl defaults to 0 in case the udev rules to
automatically online hotplugged memory do not exist.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
---
v3:
- Add xen.balloon.hotplug_unpopulated sysctl to enable use of hotplug
  for unpopulated pages.
Diffstat (limited to 'include/xen')
-rw-r--r--include/xen/balloon.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/xen/balloon.h b/include/xen/balloon.h
index 83efdeb243bf..d1767dfb0d95 100644
--- a/include/xen/balloon.h
+++ b/include/xen/balloon.h
@@ -8,6 +8,7 @@ struct balloon_stats {
 	/* We aim for 'current allocation' == 'target allocation'. */
 	unsigned long current_pages;
 	unsigned long target_pages;
+	unsigned long target_unpopulated;
 	/* Number of pages in high- and low-memory balloons. */
 	unsigned long balloon_low;
 	unsigned long balloon_high;