diff --git a/emper/strategies/AbstractWorkStealingScheduler.cpp b/emper/strategies/AbstractWorkStealingScheduler.cpp index fba97e7de0ce106c2d39cb65dc16c192e0a6da39..976baada2588a51effbb422e817600298ca1bf33 100644 --- a/emper/strategies/AbstractWorkStealingScheduler.cpp +++ b/emper/strategies/AbstractWorkStealingScheduler.cpp @@ -168,6 +168,7 @@ popBottom: if (stolen) { fiber = (*stolen).first; fiberSource = FiberSource::hintWsq; + emper::statsIncr(awss::stats.nextFiberFromHintLocal); goto out; } } break; @@ -177,6 +178,7 @@ popBottom: if (fromAnywhere) { fiber = (*fromAnywhere).first; fiberSource = FiberSource::hintAq; + emper::statsIncr(awss::stats.nextFiberFromHintAnywhere); goto out; } break; diff --git a/emper/strategies/AbstractWorkStealingWorkerStats.cpp b/emper/strategies/AbstractWorkStealingWorkerStats.cpp index c7adae3f6b6aab1eefe381af0e3fac08d5ec187b..7e164d336665e4413b2d71ec9b50adafa575e79d 100644 --- a/emper/strategies/AbstractWorkStealingWorkerStats.cpp +++ b/emper/strategies/AbstractWorkStealingWorkerStats.cpp @@ -10,6 +10,8 @@ auto AbstractWorkStealingWorkerStats::operator+=(const AbstractWorkStealingWorke scheduledFibersToOverflowQueue += other.scheduledFibersToOverflowQueue; maxQueueLength = std::max(maxQueueLength, other.maxQueueLength); nextFiberFromLocal += other.nextFiberFromLocal; + nextFiberFromHintLocal += other.nextFiberFromHintLocal; + nextFiberFromHintAnywhere += other.nextFiberFromHintAnywhere; nextFiberStolen += other.nextFiberStolen; nextFiberFromAnywhereQueue += other.nextFiberFromAnywhereQueue;