All the O3 tests should fail tonight; I will update the stats tomorrow
with the results of tonight's run.

Steve

On Sat, Jun 5, 2010 at 10:41 PM, Steve Reinhardt <[email protected]> wrote:
> 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
>
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to