aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDaniel De Graaf <dgdegra@tycho.nsa.gov>2011-03-14 11:29:37 -0400
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2011-03-16 10:05:34 -0400
commit803eb047a28d239809fff1f87274cdaa94e0d8ea (patch)
tree67451cde4571c547314c6c28ae151741b3ff89af /include
parent40095de1f9082f058970b985a96d2fbef43f94f4 (diff)
downloadkernel_goldelico_gta04-803eb047a28d239809fff1f87274cdaa94e0d8ea.zip
kernel_goldelico_gta04-803eb047a28d239809fff1f87274cdaa94e0d8ea.tar.gz
kernel_goldelico_gta04-803eb047a28d239809fff1f87274cdaa94e0d8ea.tar.bz2
xen-balloon: Move core balloon functionality out of module
The basic functionality of ballooning pages is useful for Xen drivers in general. Rather than require a dependency on the balloon module, split the functionality that is reused into the core. The balloon module is still required to follow ballooning requests from xenstore or to view balloon statistics in sysfs. Acked-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'include')
-rw-r--r--include/xen/balloon.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/xen/balloon.h b/include/xen/balloon.h
new file mode 100644
index 0000000..f72e479
--- /dev/null
+++ b/include/xen/balloon.h
@@ -0,0 +1,22 @@
+/******************************************************************************
+ * Xen balloon functionality
+ */
+
+#define RETRY_UNLIMITED 0
+
+struct balloon_stats {
+ /* We aim for 'current allocation' == 'target allocation'. */
+ unsigned long current_pages;
+ unsigned long target_pages;
+ /* Number of pages in high- and low-memory balloons. */
+ unsigned long balloon_low;
+ unsigned long balloon_high;
+ unsigned long schedule_delay;
+ unsigned long max_schedule_delay;
+ unsigned long retry_count;
+ unsigned long max_retry_count;
+};
+
+extern struct balloon_stats balloon_stats;
+
+void balloon_set_new_target(unsigned long target);