summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@elastic.org>2008-04-26 14:48:51 -0400
committerFrank Ch. Eigler <fche@elastic.org>2008-04-26 14:48:51 -0400
commit9915575b17cdf08dc523f927e424d3982d4ed787 (patch)
tree2e3ba2f0cb785deca5f6e4544e7e8ac7b75b4c60
parent9f99b110fbee8a6935ca60c152cc3c7cd809461b (diff)
downloadsystemtap-steved-9915575b17cdf08dc523f927e424d3982d4ed787.tar.gz
systemtap-steved-9915575b17cdf08dc523f927e424d3982d4ed787.tar.xz
systemtap-steved-9915575b17cdf08dc523f927e424d3982d4ed787.zip
revert commit f0e6dc6304; overload detection logic was fine already
btw, here's a test script to monitor the persistent context values: function cycles(which:long) %{ THIS->__retvalue = (THIS->which == 0) ? CONTEXT->cycles_base : CONTEXT->cycles_sum; %} probe timer.profile { /* just for */ backtrace() /* load generation */ printf("%d %d\n", cycles(0), cycles(1)) } probe timer.s(1) { exit() }
-rw-r--r--ChangeLog5
-rw-r--r--tapsets.cxx6
2 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 033db1b5..4d8d89ae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-04-26 Frank Ch. Eigler <fche@elastic.org>
+
+ * tapsets.cxx (common_probe_entryfn_prologue): Undo
+ clear of overload-related context vars; add explanation why.
+
2008-04-25 Frank Ch. Eigler <fche@elastic.org>
* systemtap.spec.in: Simplify configuration defaults.
diff --git a/tapsets.cxx b/tapsets.cxx
index 23e85a0e..c10196e2 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -216,10 +216,16 @@ common_probe_entryfn_prologue (translator_output* o, string statestr,
o->newline() << "#ifdef STP_TIMING";
o->newline() << "c->statp = 0;";
o->newline() << "#endif";
+ // NB: The following would actually be incorrect.
+ // That's because cycles_sum/cycles_base values are supposed to survive
+ // between consecutive probes. Periodically (STP_OVERLOAD_INTERVAL
+ // cycles), the values will be reset.
+ /*
o->newline() << "#ifdef STP_OVERLOAD";
o->newline() << "c->cycles_sum = 0;";
o->newline() << "c->cycles_base = 0;";
o->newline() << "#endif";
+ */
}