Hi,

I figured out an easy way of doing this. I went into Text.cc and changed the
output() routine to the following:

############

void

Text::output()

{

    ccprintf(*stream, "\n---------- Begin Simulation Statistics
----------\n");

    list<Info *>::const_iterator i, end = statsList().end();

    for (i = statsList().begin(); i != end; ++i){

        if((*i)->name.compare("system.l2.overall_hits")==0 ||
(*i)->name.compare("system.l2.overall_accesses")==0){

(*i)->visit(*this);

 }

}

    ccprintf(*stream, "\n---------- End Simulation Statistics
----------\n");

    stream->flush();

}

###############

Essentially, I check for the name of the info before allowing it to be
visited.

While this works, I am encountering a very peculiar behavior. In the
Stats.txt in the M5out output folder, I am getting double amount of output.
For example, before changing Text.cc, I get

"-------------------Begin Simulation Statistics -------------"

(useful stats here...)

"-------------------End Simulation Statistics ---------------"


But after changing Text.cc by adding the underlined lines, I get the
following:

"-------------------Begin Simulation Statistics -------------"

(useful stats here...(A))

"-------------------End Simulation Statistics ---------------"

"-------------------Begin Simulation Statistics -------------"

(useful stats here...(B))

"-------------------End Simulation Statistics ---------------"


Where A and B are not the same. While I verified that the numbers in B are
what I want, I am very curious what the numbers for A represent and how to
prevent A from getting into the output file.


Does anyone have any ideas?

Thanks,

Steve
_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to