stats: add separate stats for insts/ops both globally and per cpu model
Review Request #982 - Created Jan. 9, 2012 and submitted
| Information | |
|---|---|
| Tony Gutierrez | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 8819:eea7a12ea9f7 --------------------------- fixed naming so it's consistent for all models
Summary: |
|
|---|
Summary: |
|
|---|
Summary: |
|
|---|
Thanks for taking the time to do this Tony! It's pretty much looks great, however, the style guide says that member variables should be mixed case and not contain underscores (e.g. instructionsExecuted instead of instructions_executed). However, we do tends to name the stats output at instructions_executed which is a bit annoying. Unless someone feels strongly I think it would be best to stick to the style guide.
Summary: |
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: |
|
||||||||||||
Diff: |
Revision 2 (+182 -58) |
Summary: |
|
|---|
Hi Tony, Could you check that running the regressions without your change and with your change the same values appear in stats.txt with the appropriate regexes applied to the new file? We need to be really certain that we haven't accidentally recorded something incorrectly. Thanks, Ali
-
src/cpu/inorder/cpu.cc (Diff revision 2) -
Is "Operations" the right word here? It seems ambiguous. Assuming that numSimulatedInstructions means macro-ops, I think the next derivative of that should mean "numSimulatedMicroOps". Although the comment clarifies this, operations sounds more like the number of Functional Unit *operations* then micro-ops in my opinion.
Thanks, Tony, this is long overdue. A few thoughts: - I think "insts" and "ops" are pretty good names, with the definitions that Ali used. However, somehow even though expanding "insts" to "instructions" seems OK, expanding "ops" to "operations" paradoxically makes things more confusing in my mind. Since everyone is used to saying "micro-op" or "macro-op" (or "uop"), "op" has a clear lineage, but no one says "micro-operation" in practice, so "operation" sounds like a more generic term that could mean almost anything. I would be happy to see names like totalInstructions() and numSimulatedInstructions() replaced with totalInsts() and numSimulatedInsts() so that their new counterparts can be named totalOps() and numSimulatedOps(). I don't think replacing "insts" with "instructions" actually makes the code any more readable anyway. - I don't like losing the "committed" part of some of those stat names; on anything with speculative execution (InOrder or O3) there will be a distinction between the number of insts/ops executed and the number committed. I assume these renames were done for consistency with other CPU models (which is good!), but it's hard to know for sure since the diff doesn't show the unchanged names and I'm too lazy to look right now... - Do make sure that the commit message is correct when this finally gets committed!
Description: |
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 3 (+182 -58) |
Summary: |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: |
|
|||||||||||||||
Diff: |
Revision 4 (+190 -66) |
Summary: |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: |
|
|||||||||||||||
Diff: |
Revision 5 (+190 -66) |
Testing Done: |
|
|---|
Looks good to me... Korey? Steve?
Summary: |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: |
|
|||||||||||||||
Testing Done: |
|
|||||||||||||||
Diff: |
Revision 6 (+190 -66) |
Ship It!
-
src/cpu/inorder/cpu.hh (Diff revision 6) -
I'm still a little confused here... it seems like either we should not rename these stats from "committed" to "executed", or the comments are wrong and should say "executed" rather than "committed".
Summary: |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: |
|
|||||||||||||||
Diff: |
Revision 7 (+157 -32) |
Anyone else have issues? I'd like to get this committed as we've been kicking it around for a long while now
-
src/cpu/simple/base.cc (Diff revision 7) -
should the simple cpu stats be committedOps and commitedInsts so they're named the same as their inorder/o3 counterparts?
My only concern was about some of the naming in the InOrder model, and I can't see the resolution there because reviewboard is giving errors on those specific diffs. However, as long as that's resolved to everyone else's satisfaction, then I'm fine with it. I agree it would be good to have this committed.
Ship It!
Summary: |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: |
|
|||||||||||||||
Diff: |
Revision 8 (+172 -38) |
Any last comments before we commit this?
-
src/cpu/simple/base.cc (Diff revisions 7 - 8) -
How does it work if both BaseCPU and InOrderCPU have separate stats called committedInsts?
Ship It!
