Allon Mureinik has posted comments on this change.

Change subject: core: throttle running of VMs (#843058)
......................................................................


Patch Set 3: I would prefer that you didn't submit this

(6 inline comments)

....................................................
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsFreeMemoryChecker.java
Line 17:     }
Line 18: 
Line 19:     public boolean evaluate(VDS vds, VM vm) {
Line 20:         // first check if this host has memory.
Line 21:         if (!RunVmCommandBase.hasMemoryToRunVM(vds, vm)) {
I really don't like the use of commands as static helpers.
Consider extracting this to VmRunHandler
Line 22:             if (log.isDebugEnabled()) {
Line 23:                 log.debug("not enough memory on host. throttling...");
Line 24:             }
Line 25:             // not enough memory to run the vm invoke the throttler.


....................................................
File 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java
Line 230:                                 } else {
Line 231:                                     _refreshIteration++;
Line 232:                                 }
Line 233:                                 if (isMonitoringNeeded()) {
Line 234:                                     setStartTime();
how are the changes in this file relevant to this patch?
Line 235:                                     _vdsUpdater = new 
VdsUpdateRunTimeInfo(VdsManager.this, _vds);
Line 236:                                     _vdsUpdater.Refresh();
Line 237:                                     mUnrespondedAttempts.set(0);
Line 238:                                     setLastUpdate();


....................................................
Commit Message
Line 7: core: throttle running of VMs (#843058)
Line 8: 
Line 9: https://bugzilla.redhat.com/show_bug.cgi?id=843058
Line 10: 
Line 11: Bulk running of VMs regulary fail short in running all VMs. The reason 
is
s/fail short/falls short/
Line 12: The VdsSelector counts and reserve memory using
Line 13: a) host commited memory:     # of VMs * each VM static mem
Line 14: b) pending VM count memory : # of VMs to run * their memory count ; a 
shared state variable
Line 15: 


Line 8: 
Line 9: https://bugzilla.redhat.com/show_bug.cgi?id=843058
Line 10: 
Line 11: Bulk running of VMs regulary fail short in running all VMs. The reason 
is
Line 12: The VdsSelector counts and reserve memory using
s/The/the/
s/reserve/reserves/
Line 13: a) host commited memory:     # of VMs * each VM static mem
Line 14: b) pending VM count memory : # of VMs to run * their memory count ; a 
shared state variable
Line 15: 
Line 16: pending VM count is increased by the end of RunVm and decreased by 
VdsUpdateRunTimeInfo


Line 13: a) host commited memory:     # of VMs * each VM static mem
Line 14: b) pending VM count memory : # of VMs to run * their memory count ; a 
shared state variable
Line 15: 
Line 16: pending VM count is increased by the end of RunVm and decreased by 
VdsUpdateRunTimeInfo
Line 17: i.e two independent processes.
s/processes/threads/ ?
Line 18: 
Line 19: As long as the VdsUpdateRunTimeInfo don't run, theres an overflow in 
the calculation
Line 20: of the free memory to run VM which causes a host to be falsely not 
selected to run the VM.
Line 21: 


Line 15: 
Line 16: pending VM count is increased by the end of RunVm and decreased by 
VdsUpdateRunTimeInfo
Line 17: i.e two independent processes.
Line 18: 
Line 19: As long as the VdsUpdateRunTimeInfo don't run, theres an overflow in 
the calculation
s/don't/doesn't/
Line 20: of the free memory to run VM which causes a host to be falsely not 
selected to run the VM.
Line 21: 
Line 22: The throtller here is using the shared-state between the 
VdsUpdateRunTimeInfo and the RunVmCommands, the
Line 23: pending VM count and is using a wait/notify semantics to let the 
VdsUpdateRunTimeInfo interleave,


--
To view, visit http://gerrit.ovirt.org/7204
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I076ede6cba919bc61f7546d7b29ef436eb6d3375
Gerrit-PatchSet: 3
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Roy Golan <[email protected]>
Gerrit-Reviewer: Allon Mureinik <[email protected]>
Gerrit-Reviewer: Barak Azulay <[email protected]>
Gerrit-Reviewer: Doron Fediuck <[email protected]>
Gerrit-Reviewer: Moti Asayag <[email protected]>
Gerrit-Reviewer: Omer Frenkel <[email protected]>
Gerrit-Reviewer: Roy Golan <[email protected]>
Gerrit-Reviewer: Yair Zaslavsky <[email protected]>
Gerrit-Reviewer: oVirt Jenkins CI Server
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to