Loading ndb/src/kernel/vm/FastScheduler.cpp +22 −20 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ FastScheduler::activateSendPacked() void FastScheduler::doJob() { Uint32 init_loopCount = 0; Uint32 loopCount = 0; Uint32 TminLoops = getBOccupancy() + EXTRA_SIGNALS_PER_DO_JOB; Uint32 TloopMax = (Uint32)globalData.loopMax; if (TminLoops < TloopMax) { Loading @@ -94,10 +94,9 @@ FastScheduler::doJob() if (TloopMax < MIN_NUMBER_OF_SIG_PER_DO_JOB) { TloopMax = MIN_NUMBER_OF_SIG_PER_DO_JOB; }//if do{ Uint32 loopCount = init_loopCount; register Uint32 tHighPrio = globalData.highestAvailablePrio; register Signal* signal = getVMSignals(); register Uint32 tHighPrio= globalData.highestAvailablePrio; do{ while ((tHighPrio < LEVEL_IDLE) && (loopCount < TloopMax)) { // signal->garbage_register(); // To ensure we find bugs quickly Loading Loading @@ -155,24 +154,27 @@ FastScheduler::doJob() }//if loopCount++; }//while if (globalData.sendPackedActivated == 1) { Uint32 t1 = theDoJobTotalCounter; Uint32 t2 = theDoJobCallCounter; t1 += (loopCount - init_loopCount); t2++; theDoJobTotalCounter = t1; theDoJobCallCounter = t2; if (t2 == 8192) { reportDoJobStatistics(t1 >> 13); sendPacked(); tHighPrio = globalData.highestAvailablePrio; if(getBOccupancy() > MAX_OCCUPANCY) { if(loopCount != TloopMax) abort(); assert( loopCount == TloopMax ); TloopMax += 512; } } while ((getBOccupancy() > MAX_OCCUPANCY) || ((loopCount < TloopMax) && (tHighPrio < LEVEL_IDLE))); theDoJobCallCounter ++; theDoJobTotalCounter += loopCount; if (theDoJobCallCounter == 8192) { reportDoJobStatistics(theDoJobTotalCounter >> 13); theDoJobCallCounter = 0; theDoJobTotalCounter = 0; }//if }//if init_loopCount = loopCount; sendPacked(); } while ((getBOccupancy() > MAX_OCCUPANCY) || ((init_loopCount < TloopMax) && (globalData.highestAvailablePrio < LEVEL_IDLE))); }//FastScheduler::doJob() void FastScheduler::sendPacked() Loading Loading
ndb/src/kernel/vm/FastScheduler.cpp +22 −20 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ FastScheduler::activateSendPacked() void FastScheduler::doJob() { Uint32 init_loopCount = 0; Uint32 loopCount = 0; Uint32 TminLoops = getBOccupancy() + EXTRA_SIGNALS_PER_DO_JOB; Uint32 TloopMax = (Uint32)globalData.loopMax; if (TminLoops < TloopMax) { Loading @@ -94,10 +94,9 @@ FastScheduler::doJob() if (TloopMax < MIN_NUMBER_OF_SIG_PER_DO_JOB) { TloopMax = MIN_NUMBER_OF_SIG_PER_DO_JOB; }//if do{ Uint32 loopCount = init_loopCount; register Uint32 tHighPrio = globalData.highestAvailablePrio; register Signal* signal = getVMSignals(); register Uint32 tHighPrio= globalData.highestAvailablePrio; do{ while ((tHighPrio < LEVEL_IDLE) && (loopCount < TloopMax)) { // signal->garbage_register(); // To ensure we find bugs quickly Loading Loading @@ -155,24 +154,27 @@ FastScheduler::doJob() }//if loopCount++; }//while if (globalData.sendPackedActivated == 1) { Uint32 t1 = theDoJobTotalCounter; Uint32 t2 = theDoJobCallCounter; t1 += (loopCount - init_loopCount); t2++; theDoJobTotalCounter = t1; theDoJobCallCounter = t2; if (t2 == 8192) { reportDoJobStatistics(t1 >> 13); sendPacked(); tHighPrio = globalData.highestAvailablePrio; if(getBOccupancy() > MAX_OCCUPANCY) { if(loopCount != TloopMax) abort(); assert( loopCount == TloopMax ); TloopMax += 512; } } while ((getBOccupancy() > MAX_OCCUPANCY) || ((loopCount < TloopMax) && (tHighPrio < LEVEL_IDLE))); theDoJobCallCounter ++; theDoJobTotalCounter += loopCount; if (theDoJobCallCounter == 8192) { reportDoJobStatistics(theDoJobTotalCounter >> 13); theDoJobCallCounter = 0; theDoJobTotalCounter = 0; }//if }//if init_loopCount = loopCount; sendPacked(); } while ((getBOccupancy() > MAX_OCCUPANCY) || ((init_loopCount < TloopMax) && (globalData.highestAvailablePrio < LEVEL_IDLE))); }//FastScheduler::doJob() void FastScheduler::sendPacked() Loading