changeset ba1a0193c050 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=ba1a0193c050
description:
        stats: fix stats diff script
        Previously the return value ignored missing/added stats,
        making the regressions not tell you when you needed to
        update the reference stats because of these changes.
        Also stop filtering distributions when reporting these;
        not sure why we did that in the first place.
        Also get rid of obsolete hacks for the "fetch-loss" stats
        that have been gone for a long time.

diffstat:

 tests/diff-out |  69 ++++++++++++++-------------------------------------------
 1 files changed, 17 insertions(+), 52 deletions(-)

diffs (129 lines):

diff -r 3fc243687abb -r ba1a0193c050 tests/diff-out
--- a/tests/diff-out    Thu Jun 03 19:41:34 2010 -0700
+++ b/tests/diff-out    Sun Jun 06 01:22:14 2010 -0400
@@ -36,7 +36,6 @@
 #
 # -t thresh sets threshold for ignoring differences (in %)
 # -p sorts differences by % chg (default is alphabetic)
-# -f ignores fetch-loss statistics
 # -d ignores all distributions
 #
 
@@ -46,7 +45,6 @@
 {
     print "\nError: need two file arguments (<reference> <new>).\n";
     print "   Options: -d  =  Ignore distributions\n";
-    print "            -f  =  Ignore fetch-loss stats\n";
     print "            -p  =  Sort errors by percentage\n";
     print "            -h  =  Diff header info separately from stats\n";
     print "            -n <num>  =  Print top <num> errors (default 20)\n";
@@ -130,7 +128,6 @@
     while (<$stathandle>)
     {
        next if /^\s*$/;        # skip blank lines
-                next if /^\*\*Ignore/;   # temporary, to make totaling scripts 
easy for ISCA 03
        last if /End Simulation Statistics/;
 
        s/ *#.*//;              # strip comments
@@ -140,39 +137,20 @@
            $value = $1;
        }
        elsif ($in_dist) {
-           if ($in_dist =~ /^fetch_loss_counters/) {
-               if (/^fetch_loss_counters_\d+\.end/) {
-                   # end line of distribution: clear $in_dist flag
-                   $in_dist = undef;
-                   next;
-               }
-               else {
-                   next if $opt_f;
-
-                   ($stat, $value) = /^(\S+)\s+(.*)/;
-               }
+           if (/(.*)\.end_dist/) {
+               # end line of distribution: clear $in_dist flag
+               $in_dist = undef;
+               next;
            }
-           else {
-               if (/(.*)\.end_dist/) {
-                   # end line of distribution: clear $in_dist flag
-                   $in_dist = undef;
-                   next;
-               }
-               if ($opt_d) {
-                   next;  #  bail out if we are ignoring dists...
-               }
-               elsif (/(.*)\.(min|max)_value/) {
-                   # treat these like normal stats
-                   ($stat, $value) = /^(\S+)\s+(.*)/;
-               }
-               else {
-                   # this is ugly because labels in the distribution
-                   # buckets don't start in column 0 and may include
-                   # embedded spaces
-                   ($stat, $value) =
-                     /^\s*(\S+(?:.*\S)?)\s+(\d+)\s+\d+\.\d+%/;
-                   $stat = $in_dist . '::' . $stat;
-               }
+           if ($opt_d) {
+               next;           #  bail out if we are ignoring dists...
+           } elsif (/(.*)\.(min|max)_value/) {
+               # treat these like normal stats
+               ($stat, $value) = /^(\S+)\s+(.*)/;
+           } else {
+               ($stat, $value) =
+                 /^(\S+(?:.*\S)?)\s+(\d+)\s+\d+\.\d+%/;
+               $stat = $in_dist . '::' . $stat;
            }
        }
        else {
@@ -183,12 +161,6 @@
                $stat = $1;
                $value = 0;
            }
-           elsif (/^(fetch_loss_counters_\d+)\.start/) {
-               # treat fetch loss counters like distribution, sort of
-               $in_dist = $1;
-               $stat = $1;
-               $value = 0;
-           }
            else {
                ($stat, $value) = /^(\S+)\s+(.*)/;
            }
@@ -354,11 +326,8 @@
 }
 
 #
-# Report missing stats, but first filter out distribution buckets:
-# these are mostly noise
-
-...@missing_stats = grep { !/::(\d+|overflows)?$/ } @missing_stats;
-
+# Report missing stats
+#
 # get count
 $missing_stats = scalar(@missing_stats);
 
@@ -379,10 +348,6 @@
 
 @added_stats = keys %$newhash;
 
-# first filter out distribution buckets: mostly noise
-
-...@added_stats = grep { !/::(\d+|overflows)?$/ } @added_stats;
-
 # get count
 $added_stats = scalar(@added_stats);
 
@@ -398,8 +363,8 @@
 }
 
 cleanup();
-# Exit code is 0 if some stats found & no stats error, 1 otherwise
-$status = ($#key_stats >= 0 && $max_err_mag == 0.0) ? 0 : 1;
+# Exit code is 0 if all stats are found (with no extras) & no stats error, 1 
otherwise
+$status = ($missing_stats == 0 && $added_stats == 0 && $max_err_mag == 0.0) ? 
0 : 1;
 exit $status;
 
 sub cleanup
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to