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