esTxeofBin = new Statistics::MainBin(name() + " es_txeof");
fnBins.insert(make_pair("es_txeof", esTxeofBin));
+ idleThreadBin = new Statistics::MainBin(name() + " idle_thread");
+ fnBins.insert(make_pair("idle_thread", idleThreadBin));
+
}
//INSTRUMENTATION CODEGEN END
#endif //FS_MEASURE
esStartEvent = new FnEvent(&pcEventQueue, "es_start", this);
esTransmitEvent = new FnEvent(&pcEventQueue, "es_transmit", this);
esTxeofEvent = new FnEvent(&pcEventQueue, "es_txeof", this);
+ idleThreadEvent = new FnEvent(&pcEventQueue, "idle_thread", this);
}
//INSTRUMENTATION CODEGEN END
#endif //FS_MEASURE
else
panic("could not find kernel symbol \'es_txeof\'");
+ if (kernelSymtab->findAddress("idle_thread", addr))
+ idleThreadEvent->schedule(addr);
+ else
+ panic("could not find kernel symbol \'idle_thread\'");
+
}
//INSTRUMENTATION CODEGEN END
if (bin == true) {
populateMap("es_transmit", "es_start");
populateMap("es_txeof", "es_intr");
+
+ populateMap("idle_thread", "");
}
#endif //FS_MEASURE
}
delete esStartEvent;
delete esTransmitEvent;
delete esTxeofEvent;
+ delete idleThreadEvent;
}
//INSTRUMENTATION CODEGEN END
#endif //FS_MEASURE
Statistics::MainBin *esStartBin;
Statistics::MainBin *esTransmitBin;
Statistics::MainBin *esTxeofBin;
+ Statistics::MainBin *idleThreadBin;
//INSTRUMENTATION CODEGEN END
#endif //FS_MEASURE
FnEvent *esStartEvent;
FnEvent *esTransmitEvent;
FnEvent *esTxeofEvent;
+ FnEvent *idleThreadEvent;
//INSTRUMENTATION CODEGEN END
#endif //FS_MEASURE