Peano
Loading...
Searching...
No Matches
LogReadyTask.cpp
Go to the documentation of this file.
1#include "LogReadyTask.h"
2
4
6
7
8const std::string tarch::multicore::taskfusion::LogReadyTask::SubmitFusedTasksStatisticsIdentifier = "tarch::multicore::taskfusion::submit-fused-tasks";
9tarch::logging::Log tarch::multicore::taskfusion::LogReadyTask::_log( "tarch::multicore::taskfusion::LogReadyTask" );
10
11
13 Task(DontFuse,DefaultPriority),
14 _task(task),
15 _taskNumber(taskNumber),
16 _taskQueue(taskQueue) {
17}
18
19
21 ::tarch::logging::Statistics::getInstance().inc(SubmitFusedTasksStatisticsIdentifier, 1, false, true);
22
23 logDebug( "run(...)", "task of type " << _task->getTaskType() << " is now ready to run. Put into ready queue" );
24
25 insertReadyTask(_task, _taskNumber, _taskQueue);
26}
27
28
30 tarch::multicore::Lock lock(taskQueue->semaphore);
31
32 ReadyFusableTasks::FinishedTaskNumbers::iterator p = taskQueue->completedTaskNumbers.find( taskNumber );
33 if ( p != taskQueue->completedTaskNumbers.end() ) {
34 taskQueue->completedTaskNumbers.erase(p);
35 }
36 taskQueue->tasks.push_back( std::pair<tarch::multicore::Task*, int>(task, taskNumber) );
37}
38
#define logDebug(methodName, logMacroMessageStream)
Definition Log.h:50
Log Device.
Definition Log.h:516
void inc(const std::string &identifier, double value=1.0, bool disableSampling=false, bool clearAfterDatabaseDump=false)
Definition Statistics.h:107
static Statistics & getInstance()
This is not the canonical realisation of singletons as I use it usually for stats in Peano.
Create a lock around a boolean semaphore region.
Definition Lock.h:19
Abstract super class for a job.
Definition Task.h:21
static const std::string SubmitFusedTasksStatisticsIdentifier
virtual void run() override
Run task.
LogReadyTask(Task *task, int taskNumber, ReadyFusableTasks *taskQueue)
Construct log read task.
static void insertReadyTask(Task *task, int taskNumber, ReadyFusableTasks *taskQueue)
Insert a new ready task into the local queues.
Task queue of tasks which we hold back.
Definition taskfusion.h:66
tarch::multicore::BooleanSemaphore semaphore
Definition taskfusion.h:79