From dde4effd79b3005c8a5fc632d34ee2b6fbdf1c2a Mon Sep 17 00:00:00 2001 From: Abhi Date: Thu, 29 Mar 2012 17:35:18 +0530 Subject: [PATCH] bug 13873: memory overhead can now be overridden for each version, increasing the overhead for SP2 by 1.5% --- .../hypervisor/xen/resource/CitrixResourceBase.java | 9 ++++++--- .../hypervisor/xen/resource/XenServer56SP2Resource.java | 4 +++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java index 3221228a418..5d4c2972a1a 100755 --- a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java +++ b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java @@ -274,6 +274,10 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe // Guest and Host Performance Statistics protected String _consolidationFunction = "AVERAGE"; protected int _pollingIntervalInSeconds = 60; + + //Hypervisor specific params with generic value, may need to be overridden for specific versions + long _xs_memory_used = 128 * 1024 * 1024L; // xen hypervisor used 128 M + double _xs_virtualization_factor = 63.0/64.0; // 1 - virtualization overhead protected boolean _canBridgeFirewall = false; protected boolean _isOvs = false; @@ -4858,9 +4862,8 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe break; } } - // assume the memory Virtualization overhead is 1/64 - // xen hypervisor used 128 M - ram = (ram - dom0Ram - (128 * 1024 * 1024)) * 63/64; + + ram = (long) ((ram - dom0Ram - _xs_memory_used) * _xs_virtualization_factor); cmd.setMemory(ram); cmd.setDom0MinMemory(dom0Ram); diff --git a/core/src/com/cloud/hypervisor/xen/resource/XenServer56SP2Resource.java b/core/src/com/cloud/hypervisor/xen/resource/XenServer56SP2Resource.java index 38f7f61d1fd..854eb3b1db5 100644 --- a/core/src/com/cloud/hypervisor/xen/resource/XenServer56SP2Resource.java +++ b/core/src/com/cloud/hypervisor/xen/resource/XenServer56SP2Resource.java @@ -32,9 +32,11 @@ import com.cloud.utils.script.Script; @Local(value=ServerResource.class) public class XenServer56SP2Resource extends XenServer56FP1Resource { private static final Logger s_logger = Logger.getLogger(XenServer56SP2Resource.class); - + public XenServer56SP2Resource() { super(); + _xs_memory_used = 128 * 1024 * 1024L; + _xs_virtualization_factor = 62.0/64.0; } @Override