Re: [m5-dev] Execution Tracing

2008-07-23 Thread Korey Sewell
I'm not sure how useful it would be to the "world", but in implementing the "Mixie"/flexible model I edited ExecTrace so that it kept track of when a instruction entered each stage. This way, when a instruction executed it would: #1 be in-order of commit #2 the stalls between stages could be more a

Re: [m5-dev] Execution Tracing

2008-07-23 Thread Gabriel Michael Black
I actually noticed this a long time ago but just ignored it and worked off of the sequence numbers. There isn't anything I did where commit cycles would break things, and actually having the time stamp match when the print actually happens would help significantly some times. If you're going al

Re: [m5-dev] Execution Tracing

2008-07-23 Thread nathan binkert
Ok, so I think I agree completely with Steve. To me, this means that I'd remove the "when" field from the InstTrace object, and just use curTick in the print function. I'll also add a flag called ExecInExecute that will print the data in execute instead of commit would probably be nice for some c

Re: [m5-dev] Execution Tracing

2008-07-23 Thread Steve Reinhardt
Funny, I just noticed this the other day myself. The default behavior should definitely be to print at commit (as we do now) because we want to be able to generate a program-order list of committed instructions to see what the CPU is doing functionally, and to compare with simpler models to verify

Re: [m5-dev] Execution Tracing

2008-07-23 Thread Kevin Lim
I like option 3, but there are still a few questions with that. Do you print when the instruction begins to execute, or when it's completed execution? I dislike option 4, although it doesn't have the ordering problem. The problem is that the user would have to have some sort of separate strea

[m5-dev] Execution Tracing

2008-07-23 Thread nathan binkert
So, there's a bizarre issue with execution tracing. It uses the DPRINTF framework somewhat, but not completely. The big problem is that the information is printed at commit, but the time printed is when the instruction was fetched. So, if you turn on other trace flags, the time printed will not