A debug statement got inserted into a single-expression if statement.
Insert brackets to give the intended meaning, rather than the actual meaning
where the "let con = Connections..." is outside and executed unconditionally.
This results in some unnecessary ring checks for domains which otherwise have
IO credit.
Fixes: 42f0581a91d4 ("tools/oxenstored: Implement live update for socket connections")
Reported-by: Edwin Török <edvin.torok@citrix.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Christian Lindig <christian.lindig@citrix.com>
(cherry picked from commit
ee36179371fd4215a43fb179be2165f65c1cd1cd)
let ring_scan_checker dom =
(* no need to scan domains already marked as for processing *)
- if not (Domain.get_io_credit dom > 0) then
+ if not (Domain.get_io_credit dom > 0) then (
debug "Looking up domid %d" (Domain.get_id dom);
let con = Connections.find_domain cons (Domain.get_id dom) in
if not (Connection.has_more_work con) then (
let n = 32 + 2 * (Domains.number domains) in
info "found lazy domain %d, credit %d" (Domain.get_id dom) n;
Domain.set_io_credit ~n dom
- ) in
+ )
+ ) in
let last_stat_time = ref 0. in
let last_scan_time = ref 0. in