From c29213eec25d051ede0c0109f6b4d57d4de30899 Mon Sep 17 00:00:00 2001 From: sfc-gh-tclinkenbeard Date: Tue, 4 Oct 2022 15:23:22 -0700 Subject: [PATCH] Reorder process of queues in TagQueue::runEpoch --- fdbserver/TagQueue.actor.cpp | 41 ++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/fdbserver/TagQueue.actor.cpp b/fdbserver/TagQueue.actor.cpp index b7382d5dc6..86892c8928 100644 --- a/fdbserver/TagQueue.actor.cpp +++ b/fdbserver/TagQueue.actor.cpp @@ -64,26 +64,6 @@ void TagQueue::runEpoch(double elapsed, SpannedDeque& outImmediatePriority) { startEpoch(); Deque newDelayedRequests; - while (!newRequests.empty()) { - auto const& req = newRequests.front(); - if (canStart(req)) { - for (const auto& [tag, count] : req.tags) { - releasedInEpoch[tag] += count; - } - if (req.priority == TransactionPriority::BATCH) { - outBatchPriority.push_back(req); - } else if (req.priority == TransactionPriority::DEFAULT) { - outDefaultPriority.push_back(req); - } else if (req.priority == TransactionPriority::IMMEDIATE) { - outImmediatePriority.push_back(req); - } else { - ASSERT(false); - } - } else { - newDelayedRequests.emplace_back(req); - } - newRequests.pop_front(); - } while (!delayedRequests.empty()) { auto const& delayedReq = delayedRequests.front(); @@ -107,6 +87,27 @@ void TagQueue::runEpoch(double elapsed, delayedRequests.pop_front(); } + while (!newRequests.empty()) { + auto const& req = newRequests.front(); + if (canStart(req)) { + for (const auto& [tag, count] : req.tags) { + releasedInEpoch[tag] += count; + } + if (req.priority == TransactionPriority::BATCH) { + outBatchPriority.push_back(req); + } else if (req.priority == TransactionPriority::DEFAULT) { + outDefaultPriority.push_back(req); + } else if (req.priority == TransactionPriority::IMMEDIATE) { + outImmediatePriority.push_back(req); + } else { + ASSERT(false); + } + } else { + newDelayedRequests.emplace_back(req); + } + newRequests.pop_front(); + } + delayedRequests = std::move(newDelayedRequests); endEpoch(elapsed); }