change the path that i track from two separate paths to one.
authorLisa Hsu <hsul@eecs.umich.edu>
Fri, 7 Nov 2003 04:18:47 +0000 (23:18 -0500)
committerLisa Hsu <hsul@eecs.umich.edu>
Fri, 7 Nov 2003 04:18:47 +0000 (23:18 -0500)
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

kern/tru64/tru64_system.cc
kern/tru64/tru64_system.hh

index f6f147d07fca238a3871b85c6585168aaa64fd53..5ec62b9ca7774ae30c152fe69858d76d493a73e1 100644 (file)
@@ -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;
index 42107494f964cd5f9fa642270b9f4f72807d91d9..1240479dd8eb693bdedb1191364eb4a3923db4da 100644 (file)
@@ -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;