aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2013-05-14 13:56:42 -0400
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2013-05-15 10:27:50 -0400
commit37d46e152e4c71cd772085912f1c7bf06839f739 (patch)
treeee31e42aca07640b538385c9b6b2acce315c5716
parented4f346a008edda8ee08ffcdc642691847636954 (diff)
xen/tmem: Don't use self[ballooning|shrinking] if frontswap is off.
There is no point. We would just squeeze the guest to put more and more pages in the swap disk without any purpose. The only time it makes sense to use the selfballooning and shrinking is when frontswap is being utilized. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
-rw-r--r--Documentation/kernel-parameters.txt3
-rw-r--r--drivers/xen/tmem.c8
-rw-r--r--drivers/xen/xen-selfballoon.c15
3 files changed, 16 insertions, 10 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 3de01edca3ea..6e3b18a8afc6 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -3014,7 +3014,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
3014 3014
3015 tmem.frontswap=0|1 [KNL, XEN] 3015 tmem.frontswap=0|1 [KNL, XEN]
3016 Default is on (1). Disable the usage of the frontswap 3016 Default is on (1). Disable the usage of the frontswap
3017 API to send swap pages to the hypervisor. 3017 API to send swap pages to the hypervisor. If disabled
3018 the selfballooning and selfshrinking are force disabled.
3018 3019
3019 tmem.selfballooning=0|1 [KNL, XEN] 3020 tmem.selfballooning=0|1 [KNL, XEN]
3020 Default is on (1). Disable the driving of swap pages 3021 Default is on (1). Disable the driving of swap pages
diff --git a/drivers/xen/tmem.c b/drivers/xen/tmem.c
index c1df0ff89878..18e8bd8fa947 100644
--- a/drivers/xen/tmem.c
+++ b/drivers/xen/tmem.c
@@ -403,6 +403,14 @@ static int xen_tmem_init(void)
403 } 403 }
404#endif 404#endif
405#ifdef CONFIG_XEN_SELFBALLOONING 405#ifdef CONFIG_XEN_SELFBALLOONING
406 /*
407 * There is no point of driving pages to the swap system if they
408 * aren't going anywhere in tmem universe.
409 */
410 if (!frontswap) {
411 selfshrinking = false;
412 selfballooning = false;
413 }
406 xen_selfballoon_init(selfballooning, selfshrinking); 414 xen_selfballoon_init(selfballooning, selfshrinking);
407#endif 415#endif
408 return 0; 416 return 0;
diff --git a/drivers/xen/xen-selfballoon.c b/drivers/xen/xen-selfballoon.c
index 5d637e2b1b9f..f70984a892aa 100644
--- a/drivers/xen/xen-selfballoon.c
+++ b/drivers/xen/xen-selfballoon.c
@@ -53,15 +53,12 @@
53 * System configuration note: Selfballooning should not be enabled on 53 * System configuration note: Selfballooning should not be enabled on
54 * systems without a sufficiently large swap device configured; for best 54 * systems without a sufficiently large swap device configured; for best
55 * results, it is recommended that total swap be increased by the size 55 * results, it is recommended that total swap be increased by the size
56 * of the guest memory. Also, while technically not required to be 56 * of the guest memory. Note, that selfballooning should be disabled by default
57 * configured, it is highly recommended that frontswap also be configured 57 * if frontswap is not configured. Similarly selfballooning should be enabled
58 * and enabled when selfballooning is running. So, selfballooning 58 * by default if frontswap is configured and can be disabled with the
59 * is disabled by default if frontswap is not configured and can only 59 * "tmem.selfballooning=0" kernel boot option. Finally, when frontswap is
60 * be enabled with the "tmem.selfballooning=1" kernel boot option; similarly 60 * configured, frontswap-selfshrinking can be disabled with the
61 * selfballooning is enabled by default if frontswap is configured and 61 * "tmem.selfshrink=0" kernel boot option.
62 * can be disabled with the "tmem.selfballooning=0" kernel boot option. Finally,
63 * when frontswap is configured,frontswap-selfshrinking can be disabled
64 * with the "tmem.selfshrink=0" kernel boot option.
65 * 62 *
66 * Selfballooning is disallowed in domain0 and force-disabled. 63 * Selfballooning is disallowed in domain0 and force-disabled.
67 * 64 *