void SchedulingTraceProcessor::registerLitmusExecutionTime(struct st_event_record* ster) { LitmusSchedulingTraceRecord *litmusSchedulingTraceRecord; litmusSchedulingTraceRecord = new LitmusExecutionTime(ST_RELEASE); litmusSchedulingTraceRecord->setTaskSet(taskSet); // Registers ST_RELEASE, ST_COMPLETION, ST_TERMINATION. registeredTraceRecords.insert(pair<int,LitmusSchedulingTraceRecord*> (ster->hdr.pid,litmusSchedulingTraceRecord)); }
void SchedulingTraceProcessor::registerLitmusSelfSuspension(struct st_event_record* ster) { LitmusSchedulingTraceRecord *litmusSchedulingTraceRecord; litmusSchedulingTraceRecord = new LitmusSelfSuspension(ST_BLOCK); litmusSchedulingTraceRecord->setTaskSet(taskSet); // Registers ST_BLOCK, ST_RESUME. registeredSelfSuspensions.insert(pair<int,LitmusSchedulingTraceRecord*> (ster->hdr.pid,litmusSchedulingTraceRecord)); }
void SchedulingTraceProcessor::registerLitmusInterArrivalTime(struct st_event_record* ster) { LitmusSchedulingTraceRecord *litmusSchedulingTraceRecord; litmusSchedulingTraceRecord = new LitmusInterArrivalTime(ST_RELEASE); litmusSchedulingTraceRecord->setTaskSet(taskSet); // Registers ST_RELEASE. registeredInterArrivalTimeTraceRocords.insert(pair<int,LitmusSchedulingTraceRecord*> (ster->hdr.pid,litmusSchedulingTraceRecord)); }
void SchedulingTraceProcessor::registerLitmusSelfSuspension(struct st_event_record* ster) { LitmusSchedulingTraceRecord *litmusSchedulingTraceRecord; map<pair<int,int>,LitmusSchedulingTraceRecord*>::iterator it; litmusSchedulingTraceRecord = new LitmusSelfSuspension(ST_BLOCK); litmusSchedulingTraceRecord->setTaskSet(taskSet); it = registeredSelfSuspensions.begin(); registeredSelfSuspensions.insert(it, pair<pair<int,int>,LitmusSchedulingTraceRecord*> (pair<int,int>(ST_BLOCK,ster->hdr.pid),litmusSchedulingTraceRecord)); // register the completion scheduling trace; notice that LitmusSchedulingTraceRecord is the same it = registeredSelfSuspensions.begin(); registeredSelfSuspensions.insert(it,pair<pair<int,int>,LitmusSchedulingTraceRecord*> (pair<int,int>(ST_RESUME,ster->hdr.pid),litmusSchedulingTraceRecord)); }
void SchedulingTraceProcessor::registerLitmusInterArrivalTime(struct st_event_record* ster) { LitmusSchedulingTraceRecord *litmusSchedulingTraceRecord; map<pair<int,int>,LitmusSchedulingTraceRecord*>::iterator it; litmusSchedulingTraceRecord = new LitmusInterArrivalTime(ST_RELEASE); litmusSchedulingTraceRecord->setTaskSet(taskSet); it = registeredInterArrivalTimeTraceRocords.begin(); registeredInterArrivalTimeTraceRocords.insert(it, pair<pair<int,int>,LitmusSchedulingTraceRecord*> (pair<int,int>(ST_COMPLETION,ster->hdr.pid),litmusSchedulingTraceRecord)); // register the release scheduling trace; notice that LitmusSchedulingTraceRecord is the same it = registeredInterArrivalTimeTraceRocords.begin(); registeredInterArrivalTimeTraceRocords.insert(it,pair<pair<int,int>,LitmusSchedulingTraceRecord*> (pair<int,int>(ST_RELEASE,ster->hdr.pid),litmusSchedulingTraceRecord)); }
void SchedulingTraceProcessor::registerLitmusExecutionTime(struct st_event_record* ster) { LitmusSchedulingTraceRecord *litmusSchedulingTraceRecord; map<pair<int,int>,LitmusSchedulingTraceRecord*>::iterator it; litmusSchedulingTraceRecord = new LitmusExecutionTime(ST_RELEASE); litmusSchedulingTraceRecord->setTaskSet(taskSet); it = registeredTraceRecords.begin(); registeredTraceRecords.insert(it, pair<pair<int,int>,LitmusSchedulingTraceRecord*> (pair<int,int>(ST_RELEASE,ster->hdr.pid),litmusSchedulingTraceRecord)); // register the completion scheduling trace; notice that LitmusSchedulingTraceRecord is the same it = registeredTraceRecords.begin(); registeredTraceRecords.insert(it,pair<pair<int,int>,LitmusSchedulingTraceRecord*> (pair<int,int>(ST_COMPLETION,ster->hdr.pid),litmusSchedulingTraceRecord)); // register the termintation scheduling trace; notice that LitmusSchedulingTraceRecord is the same it = registeredTraceRecords.begin(); registeredTraceRecords.insert(it,pair<pair<int,int>,LitmusSchedulingTraceRecord*> (pair<int,int>(ST_TERMINATION,ster->hdr.pid),litmusSchedulingTraceRecord)); }