diff options
author | Lisa Hsu <hsul@eecs.umich.edu> | 2003-11-06 23:18:47 -0500 |
---|---|---|
committer | Lisa Hsu <hsul@eecs.umich.edu> | 2003-11-06 23:18:47 -0500 |
commit | 3a99657c8f2b46ad9a76752970a7dd673b4ca7fe (patch) | |
tree | 3793584b4b167bf6eec50fbec1832883b5326d64 | |
parent | 7ec4f7d21168c6cca349caee0903450f7ab93c14 (diff) | |
download | gem5-3a99657c8f2b46ad9a76752970a7dd673b4ca7fe.tar.xz |
change the path that i track from two separate paths to one.
kern/tru64/tru64_system.cc:
the automatic generated code...
also, change the way i populate the map. now, instead of tcp_ouput being
the head of its own path, put it under tcp_sosend, which is under sosend.
kern/tru64/tru64_system.hh:
automatically generatd changes
--HG--
extra : convert_revision : 005bac336a3088e32b3b5fcc5e72afd80f7f1934
-rw-r--r-- | kern/tru64/tru64_system.cc | 19 | ||||
-rw-r--r-- | kern/tru64/tru64_system.hh | 2 |
2 files changed, 18 insertions, 3 deletions
diff --git a/kern/tru64/tru64_system.cc b/kern/tru64/tru64_system.cc index f6f147d07..5ec62b9ca 100644 --- a/kern/tru64/tru64_system.cc +++ b/kern/tru64/tru64_system.cc @@ -164,6 +164,9 @@ Tru64System::Tru64System(const string _name, const uint64_t _init_param, sosendBin = new Statistics::MainBin(name() + " sosend"); fnBins.insert(make_pair("sosend", sosendBin)); + tcpSosendBin = new Statistics::MainBin(name() + " tcp_sosend"); + fnBins.insert(make_pair("tcp_sosend", tcpSosendBin)); + tcpOutputBin = new Statistics::MainBin(name() + " tcp_output"); fnBins.insert(make_pair("tcp_output", tcpOutputBin)); @@ -226,6 +229,7 @@ Tru64System::Tru64System(const string _name, const uint64_t _init_param, sooWriteEvent = new FnEvent(&pcEventQueue, "soo_write", this); senditEvent = new FnEvent(&pcEventQueue, "sendit", this); sosendEvent = new FnEvent(&pcEventQueue, "sosend", this); + tcpSosendEvent = new FnEvent(&pcEventQueue, "tcp_sosend", this); tcpOutputEvent = new FnEvent(&pcEventQueue, "tcp_output", this); ipOutputEvent = new FnEvent(&pcEventQueue, "ip_output", this); etherOutputEvent = new FnEvent(&pcEventQueue, "ether_output", this); @@ -405,6 +409,11 @@ Tru64System::Tru64System(const string _name, const uint64_t _init_param, else panic("could not find kernel symbol \'sosend\'"); + if (kernelSymtab->findAddress("tcp_sosend", addr)) + tcpSosendEvent->schedule(addr); + else + panic("could not find kernel symbol \'tcp_sosend\'"); + if (kernelSymtab->findAddress("tcp_output", addr)) tcpOutputEvent->schedule(addr); else @@ -466,10 +475,13 @@ Tru64System::Tru64System(const string _name, const uint64_t _init_param, populateMap("soreceive", "soo_read"); populateMap("write", ""); - populateMap("sendit", "write"); + populateMap("osend", ""); + populateMap("soo_write", "write"); + populateMap("sendit", "osend"); populateMap("sosend", "sendit"); - - populateMap("tcp_output", ""); + populateMap("sosend", "soo_write"); + populateMap("tcp_sosend", "sosend"); + populateMap("tcp_output", "tcp_sosend"); populateMap("ip_output", "tcp_output"); populateMap("ether_output", "ip_output"); populateMap("es_start", "ether_output"); @@ -524,6 +536,7 @@ Tru64System::~Tru64System() delete sooWriteEvent; delete senditEvent; delete sosendEvent; + delete tcpSosendEvent; delete tcpOutputEvent; delete ipOutputEvent; delete etherOutputEvent; diff --git a/kern/tru64/tru64_system.hh b/kern/tru64/tru64_system.hh index 42107494f..1240479dd 100644 --- a/kern/tru64/tru64_system.hh +++ b/kern/tru64/tru64_system.hh @@ -87,6 +87,7 @@ class Tru64System : public System Statistics::MainBin *sooWriteBin; Statistics::MainBin *senditBin; Statistics::MainBin *sosendBin; + Statistics::MainBin *tcpSosendBin; Statistics::MainBin *tcpOutputBin; Statistics::MainBin *ipOutputBin; Statistics::MainBin *etherOutputBin; @@ -130,6 +131,7 @@ class Tru64System : public System FnEvent *sooWriteEvent; FnEvent *senditEvent; FnEvent *sosendEvent; + FnEvent *tcpSosendEvent; FnEvent *tcpOutputEvent; FnEvent *ipOutputEvent; FnEvent *etherOutputEvent; |