cpu,stats: Fix incorrect stat names of ThreadStateStats
authorHoa Nguyen <hoanguyen@ucdavis.edu>
Sat, 17 Oct 2020 10:48:22 +0000 (03:48 -0700)
committerBobby R. Bruce <bbruce@ucdavis.edu>
Sat, 14 Nov 2020 01:58:56 +0000 (01:58 +0000)
commit14045cb39548cc44ecff2da18815129fe1c01a30
treed2c8f37765786de342974205d99c28dfd6038775
parent8728c26c7fe41baa12f64a5f56ee1f32f836ee7b
cpu,stats: Fix incorrect stat names of ThreadStateStats

Previously, ThreadStateStats uses ThreadState::threadId() to
determine the name of the stats. However, in the ThreadState
constructor, ThreadStateStats is initialized before ThreadState
is intialized. As a result, the name of ThreadStateStats has
a wrong ThreadID.

This commit uses ThreadID instead of ThreadState to determine
the name of the stats.

This causes a name collision between ThreadStateStats and
ExecContextStats as both have the name of "thread_[tid]".
Ideally, those stats should be merged to the BaseSimpleCPU.
However, both ThreadStateStats and ExecContextStats have
a stat named numInsts. So, for now, ExecContextStats will
have a name of "exec_context.thread_[tid]", while ThreadStateStats
keeps its name.

Change-Id: If9a21549f98bd6e3ce6dc29bdf183e8fd5f51a67
Signed-off-by: Hoa Nguyen <hoanguyen@ucdavis.edu>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/37455
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
src/cpu/thread_state.cc
src/cpu/thread_state.hh