summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLisa Hsu <hsul@eecs.umich.edu>2003-11-06 23:18:47 -0500
committerLisa Hsu <hsul@eecs.umich.edu>2003-11-06 23:18:47 -0500
commit3a99657c8f2b46ad9a76752970a7dd673b4ca7fe (patch)
tree3793584b4b167bf6eec50fbec1832883b5326d64
parent7ec4f7d21168c6cca349caee0903450f7ab93c14 (diff)
downloadgem5-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.cc19
-rw-r--r--kern/tru64/tru64_system.hh2
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;