track the idle_thread() function in the kernel, so that we can know if we are idle during a run.
kern/tru64/tru64_system.cc: autogen for new tracked function add to fn name map kern/tru64/tru64_system.hh: autogen --HG-- extra : convert_revision : 322d54df3070824a039085dc3742660c82cf750d
This commit is contained in:
parent
3a99657c8f
commit
a03221b6ca
2 changed files with 14 additions and 0 deletions
|
@ -185,6 +185,9 @@ Tru64System::Tru64System(const string _name, const uint64_t _init_param,
|
|||
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
|
||||
|
@ -236,6 +239,7 @@ Tru64System::Tru64System(const string _name, const uint64_t _init_param,
|
|||
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
|
||||
|
@ -444,6 +448,11 @@ Tru64System::Tru64System(const string _name, const uint64_t _init_param,
|
|||
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) {
|
||||
|
@ -488,6 +497,8 @@ Tru64System::Tru64System(const string _name, const uint64_t _init_param,
|
|||
populateMap("es_transmit", "es_start");
|
||||
|
||||
populateMap("es_txeof", "es_intr");
|
||||
|
||||
populateMap("idle_thread", "");
|
||||
}
|
||||
#endif //FS_MEASURE
|
||||
}
|
||||
|
@ -543,6 +554,7 @@ Tru64System::~Tru64System()
|
|||
delete esStartEvent;
|
||||
delete esTransmitEvent;
|
||||
delete esTxeofEvent;
|
||||
delete idleThreadEvent;
|
||||
}
|
||||
//INSTRUMENTATION CODEGEN END
|
||||
#endif //FS_MEASURE
|
||||
|
|
|
@ -94,6 +94,7 @@ class Tru64System : public System
|
|||
Statistics::MainBin *esStartBin;
|
||||
Statistics::MainBin *esTransmitBin;
|
||||
Statistics::MainBin *esTxeofBin;
|
||||
Statistics::MainBin *idleThreadBin;
|
||||
//INSTRUMENTATION CODEGEN END
|
||||
#endif //FS_MEASURE
|
||||
|
||||
|
@ -138,6 +139,7 @@ class Tru64System : public System
|
|||
FnEvent *esStartEvent;
|
||||
FnEvent *esTransmitEvent;
|
||||
FnEvent *esTxeofEvent;
|
||||
FnEvent *idleThreadEvent;
|
||||
//INSTRUMENTATION CODEGEN END
|
||||
#endif //FS_MEASURE
|
||||
|
||||
|
|
Loading…
Reference in a new issue