summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-10-22 09:32:22 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2021-10-22 09:32:22 +0000
commit0e4d9d83d10891dcb34beda2ac9e1209a9b2e489 (patch)
treed0b74f3cde3a1caee855fe7bb7f3db7873d8aec9
parent2aff6c0940effc2e500db9e989e5fd833ddd6079 (diff)
Track time outside of idle loop.
-rw-r--r--staging_vespalib/src/vespa/vespalib/util/adaptive_sequenced_executor.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/staging_vespalib/src/vespa/vespalib/util/adaptive_sequenced_executor.cpp b/staging_vespalib/src/vespa/vespalib/util/adaptive_sequenced_executor.cpp
index 5283ba5150e..a0f8c6382ea 100644
--- a/staging_vespalib/src/vespa/vespalib/util/adaptive_sequenced_executor.cpp
+++ b/staging_vespalib/src/vespa/vespalib/util/adaptive_sequenced_executor.cpp
@@ -152,11 +152,11 @@ AdaptiveSequencedExecutor::obtain_strand(Worker &worker, std::unique_lock<std::m
} else {
worker.state = Worker::State::BLOCKED;
_worker_stack.push(&worker);
+ worker.idleTracker.set_idle(steady_clock::now());
while (worker.state == Worker::State::BLOCKED) {
- worker.idleTracker.set_idle(steady_clock::now());
worker.cond.wait(lock);
- _idleTracker.was_idle(worker.idleTracker.set_active(steady_clock::now()));
}
+ _idleTracker.was_idle(worker.idleTracker.set_active(steady_clock::now()));
_stats.wakeupCount++;
}
return (worker.state == Worker::State::RUNNING);