From 53f6739900586a69d5a6cdf31344d4ba52cbcc8e Mon Sep 17 00:00:00 2001 From: anthony Date: Fri, 15 Jun 2012 11:07:46 -0700 Subject: [PATCH] CS-12972 : cap is per domain/VM Conflicts: core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java --- .../cloud/hypervisor/xen/resource/CitrixResourceBase.java | 7 +++---- 1 file changed, 3 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 3fd015d462c..fc5333fefe5 100644 --- a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java +++ b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java @@ -955,7 +955,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe if (speed != null) { int cpuWeight = _maxWeight; //cpu_weight - int utilization = 0; // max CPU cap, default is unlimited + long utilization = 0; // max CPU cap, default is unlimited // weight based allocation cpuWeight = (int)((speed*0.99) / _host.speed * _maxWeight); @@ -964,12 +964,11 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe } if (vmSpec.getLimitCpuUse()) { - utilization = (int)((speed*0.99) / _host.speed * 100); + utilization = (((long)speed * vmSpec.getCpus() * 100 ) / _host.speed); } vcpuParams.put("weight", Integer.toString(cpuWeight)); - vcpuParams.put("cap", Integer.toString(utilization)); - + vcpuParams.put("cap", Long.toString(utilization)); } if (vcpuParams.size() > 0) {