O3CPU: Idle CPU status logic revised
Review Request #2607 - Created Jan. 20, 2015 and submitted
| Information | |
|---|---|
| Alexandru Dutu | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 10652:1dd33bc912af --------------------------- O3CPU: Idle CPU status logic revised This patch sets the CPU status to idle when the last active thread gets suspended.
Tested ALPHA and X86 quick SE regressions. Also, tested ALPHA multi-program SMT with small applications.
Posted (Jan. 21, 2015, 12:23 a.m.)
It looks sensible, but I wonder if we could not somehow move all this to the BaseCPU? Also, what do these states mean for an SMT? Is there a need for threadIdle and coreIdle?
Posted (Feb. 3, 2015, 10:40 a.m.)
Looks fine to me, too. However, when following the logic here, I found that this is a generally messy part of the O3 core. I think it would make sense to (1) restructure similar to the Minor CPU core (where there is a state per context) and then (2) unify this whole handling in BaseCPU and pull it out of the respective cores. AFAICS, this (active / idle state vs threading) should be generic enough to be pulled out, or at least be similar across the cores.
