Francesco Romani has posted comments on this change.

Change subject: periodic: explicitely track domain availability
......................................................................


Patch Set 5:

(4 comments)

https://gerrit.ovirt.org/#/c/47246/5//COMMIT_MSG
Commit Message:

Line 27: We need to try another way to solve this problem, without
Line 28: depend on libvirt so much.
Line 29: 
Line 30: Now VDSM counts explicitely the uses of a given domain, using
Line 31: a ExpiringCache per operation,  in order to minimize the
> an/one ExpiringCache ..., in ...
Done
Line 32: inter-operation interference. We want to avoid false negative
Line 33: as top-priority, but once this is granted, we also want to minimize
Line 34: the false positive!
Line 35: 


Line 30: Now VDSM counts explicitely the uses of a given domain, using
Line 31: a ExpiringCache per operation,  in order to minimize the
Line 32: inter-operation interference. We want to avoid false negative
Line 33: as top-priority, but once this is granted, we also want to minimize
Line 34: the false positive!
> I'd suggest defining false negative (VM available, considered unavailable?)
Good point, will do.
Line 35: 
Line 36: The rational for this change is
Line 37: - isDomainReadyForCommands, which we used previously, needs
Line 38:   o access libvirt, thus can actually make things worse on extreme


Line 34: the false positive!
Line 35: 
Line 36: The rational for this change is
Line 37: - isDomainReadyForCommands, which we used previously, needs
Line 38:   o access libvirt, thus can actually make things worse on extreme
> to access ...
Done
Line 39:   load conditions.
Line 40: - under normal load, reduce the interference and false positives
Line 41:   between operations
Line 42: 


https://gerrit.ovirt.org/#/c/47246/5/vdsm/virt/periodic.py
File vdsm/virt/periodic.py:

Line 229:                     continue
Line 230: 
Line 231:                 op = self._create(vm_obj, self._skip_doms)
Line 232: 
Line 233:                 if not op.required:
> Shouldn't vm_id be added to `skipped' here?
No, because "required" means: "should this operation be done at all on this 
vm?" if an operation is "required", then we must check if an operation is 
runnable, so if the current state of the VM allows so.

"required" it is supposed to change much less frequently than "runnable", and 
it is not affected by libvirt congestion.

"skipped", lastly, means "this operation is required, but it is not runnable on 
this vm now, so let's track it". Hence, it is correct NOT to add a not required 
operation.
Line 234:                     continue
Line 235:                 # When dealing with blocked domains, we also want to 
avoid
Line 236:                 # to pile up jobs that libvirt can't handle and 
eventually
Line 237:                 # clog it.


-- 
To view, visit https://gerrit.ovirt.org/47246
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Idd90750ab36cb90bad401fab0ff7ff98429e78a5
Gerrit-PatchSet: 5
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Francesco Romani <from...@redhat.com>
Gerrit-Reviewer: Francesco Romani <from...@redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Martin Polednik <mpoled...@redhat.com>
Gerrit-Reviewer: Milan Zamazal <mzama...@redhat.com>
Gerrit-Reviewer: automat...@ovirt.org
Gerrit-HasComments: Yes
_______________________________________________
vdsm-patches mailing list
vdsm-patches@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches

Reply via email to