add things to track read and soo_read for specweb.
authorLisa Hsu <hsul@eecs.umich.edu>
Thu, 6 Nov 2003 04:38:51 +0000 (23:38 -0500)
committerLisa Hsu <hsul@eecs.umich.edu>
Thu, 6 Nov 2003 04:38:51 +0000 (23:38 -0500)
kern/tru64/tru64_events.cc:
    don't need this - it was commented out anyway.
kern/tru64/tru64_system.cc:
    generated code from instrum_codegen.pl  also, populateMap with the correct orderings.
kern/tru64/tru64_system.hh:
    generated code from instrum_codegen.pl

--HG--
extra : convert_revision : 237366a4bae31a07dfc245d090a704afd2bd4833

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

index bb6588e62b5581c85beca6d5cde7f98c4393c49c..f542256e44751632b736a939128f7dba368d6a5f 100644 (file)
@@ -130,8 +130,6 @@ FnEvent::process(ExecContext *xc)
     if (ctx && !ctx->callStack.empty()) {
         fnCall *last = ctx->callStack.top();
         if (!xc->system->findCaller(myname(), last->name)) {
-            // assert(!xc->system->findCaller(myname(), "")  &&
-            //     "should not have head of path in middle of stack!");
             return;
         }
         ctx->calls--;
index 6f4a0b16996e9a8e8b4d15719564a2168ac55ffe..f6f147d07fca238a3871b85c6585168aaa64fd53 100644 (file)
@@ -134,6 +134,12 @@ Tru64System::Tru64System(const string _name, const uint64_t _init_param,
         sbappendBin = new Statistics::MainBin(name() + " sbappend");
         fnBins.insert(make_pair("sbappend", sbappendBin));
 
+        readBin = new Statistics::MainBin(name() + " read");
+        fnBins.insert(make_pair("read", readBin));
+
+        sooReadBin = new Statistics::MainBin(name() + " soo_read");
+        fnBins.insert(make_pair("soo_read", sooReadBin));
+
         orecvBin = new Statistics::MainBin(name() + " orecv");
         fnBins.insert(make_pair("orecv", orecvBin));
 
@@ -146,6 +152,12 @@ Tru64System::Tru64System(const string _name, const uint64_t _init_param,
         osendBin = new Statistics::MainBin(name() + " osend");
         fnBins.insert(make_pair("osend", osendBin));
 
+        writeBin = new Statistics::MainBin(name() + " write");
+        fnBins.insert(make_pair("write", writeBin));
+
+        sooWriteBin = new Statistics::MainBin(name() + " soo_write");
+        fnBins.insert(make_pair("soo_write", sooWriteBin));
+
         senditBin = new Statistics::MainBin(name() + " sendit");
         fnBins.insert(make_pair("sendit", senditBin));
 
@@ -204,10 +216,14 @@ Tru64System::Tru64System(const string _name, const uint64_t _init_param,
           ipReassEvent = new FnEvent(&pcEventQueue, "ip_reass", this);
           tcpInputEvent = new FnEvent(&pcEventQueue, "tcp_input", this);
           sbappendEvent = new FnEvent(&pcEventQueue, "sbappend", this);
+          readEvent = new FnEvent(&pcEventQueue, "read", this);
+          sooReadEvent = new FnEvent(&pcEventQueue, "soo_read", this);
           orecvEvent = new FnEvent(&pcEventQueue, "orecv", this);
           recvitEvent = new FnEvent(&pcEventQueue, "recvit", this);
           soreceiveEvent = new FnEvent(&pcEventQueue, "soreceive", this);
           osendEvent = new FnEvent(&pcEventQueue, "osend", this);
+          writeEvent = new FnEvent(&pcEventQueue, "write", this);
+          sooWriteEvent = new FnEvent(&pcEventQueue, "soo_write", this);
           senditEvent = new FnEvent(&pcEventQueue, "sendit", this);
           sosendEvent = new FnEvent(&pcEventQueue, "sosend", this);
           tcpOutputEvent = new FnEvent(&pcEventQueue, "tcp_output", this);
@@ -339,6 +355,16 @@ Tru64System::Tru64System(const string _name, const uint64_t _init_param,
         else
             panic("could not find kernel symbol \'sbappend\'");
 
+        if (kernelSymtab->findAddress("read", addr))
+            readEvent->schedule(addr);
+        else
+            panic("could not find kernel symbol \'read\'");
+
+        if (kernelSymtab->findAddress("soo_read", addr))
+            sooReadEvent->schedule(addr);
+        else
+            panic("could not find kernel symbol \'soo_read\'");
+
         if (kernelSymtab->findAddress("orecv", addr))
             orecvEvent->schedule(addr);
         else
@@ -359,6 +385,16 @@ Tru64System::Tru64System(const string _name, const uint64_t _init_param,
         else
             panic("could not find kernel symbol \'osend\'");
 
+        if (kernelSymtab->findAddress("write", addr))
+            writeEvent->schedule(addr);
+        else
+            panic("could not find kernel symbol \'write\'");
+
+        if (kernelSymtab->findAddress("soo_write", addr))
+            sooWriteEvent->schedule(addr);
+        else
+            panic("could not find kernel symbol \'soo_write\'");
+
         if (kernelSymtab->findAddress("sendit", addr))
             senditEvent->schedule(addr);
         else
@@ -424,9 +460,10 @@ Tru64System::Tru64System(const string _name, const uint64_t _init_param,
 
         populateMap("read", "");
         populateMap("orecv", "");
-        populateMap("recvit", "read");
+        populateMap("soo_read", "read");
         populateMap("recvit", "orecv");
         populateMap("soreceive", "recvit");
+        populateMap("soreceive", "soo_read");
 
         populateMap("write", "");
         populateMap("sendit", "write");
@@ -477,10 +514,14 @@ Tru64System::~Tru64System()
         delete ipReassEvent;
         delete tcpInputEvent;
         delete sbappendEvent;
+        delete readEvent;
+        delete sooReadEvent;
         delete orecvEvent;
         delete recvitEvent;
         delete soreceiveEvent;
         delete osendEvent;
+        delete writeEvent;
+        delete sooWriteEvent;
         delete senditEvent;
         delete sosendEvent;
         delete tcpOutputEvent;
index 638fabf1dccf2079915055a9864ed573e048bc06..42107494f964cd5f9fa642270b9f4f72807d91d9 100644 (file)
@@ -77,10 +77,14 @@ class Tru64System : public System
     Statistics::MainBin *ipReassBin;
     Statistics::MainBin *tcpInputBin;
     Statistics::MainBin *sbappendBin;
+    Statistics::MainBin *readBin;
+    Statistics::MainBin *sooReadBin;
     Statistics::MainBin *orecvBin;
     Statistics::MainBin *recvitBin;
     Statistics::MainBin *soreceiveBin;
     Statistics::MainBin *osendBin;
+    Statistics::MainBin *writeBin;
+    Statistics::MainBin *sooWriteBin;
     Statistics::MainBin *senditBin;
     Statistics::MainBin *sosendBin;
     Statistics::MainBin *tcpOutputBin;
@@ -116,10 +120,14 @@ class Tru64System : public System
     FnEvent *ipReassEvent;
     FnEvent *tcpInputEvent;
     FnEvent *sbappendEvent;
+    FnEvent *readEvent;
+    FnEvent *sooReadEvent;
     FnEvent *orecvEvent;
     FnEvent *recvitEvent;
     FnEvent *soreceiveEvent;
     FnEvent *osendEvent;
+    FnEvent *writeEvent;
+    FnEvent *sooWriteEvent;
     FnEvent *senditEvent;
     FnEvent *sosendEvent;
     FnEvent *tcpOutputEvent;