Review Board 2.0.15


O3: Create a pipeline activity viewer for the O3 CPU model.

Review Request #721 - Created May 26, 2011 and submitted

Information
Ali Saidi
gem5
Reviewers
Default
ali, gblack, nate, stever
O3: Create a pipeline activity viewer for the O3 CPU model.

Implement a pipeline activity viewer as a python script (util/o3-pipeview.py)
and modified O3 code base to support an extra trace flag (O3PipeView) for
generating traces to be used as inputs by the tool.

   
Posted (July 10, 2011, 4:21 a.m.)
Anyone have comments on this?
  1. At the time, both Steve and I commented that it looked nice, although we either hadn't or hadn't thoroughly looked at the code. I might want to look at it again just to be sure it's ok, but those emails sounded pretty positive.
Ship it!
Posted (July 11, 2011, 7:35 a.m.)
This looks good... I was pleasantly surprised how little code there was.  It would be nice to get away with fewer #ifdefs, but I don't see an easy way around that.

The one change I suggest is to protect all this with '#if TRACING_ON' instead of '#ifndef NDEBUG'.  (Note that TRACING_ON is always defined as either 0 or 1, so use #if rather than #ifdef.)  I think that's more consistent with the fact that you're using DPRINTF to spit out the trace records.  Technically if you do this you wouldn't need a #if around any DPRINTFs.
src/cpu/o3/commit_impl.hh (Diff revision 1)
 
 
Do we really need to save retireTick in a variable since we're just going to print it out a few lines later and then not use it again?  The side benefit is that you could get rid of the #ifndef completely if you switch to using TRACING_ON instead of NDEBUG since everything else is a DPRINTF.
src/cpu/o3/dyn_inst.hh (Diff revision 1)
 
 
This should be NDEBUG (unless you change to use TRACING_ON).