Revert "cpu: stop scheduling suspended threads in MinorCPU"
This reverts commit 6a6668bbc4b038b98eb3ee64ffb034719316afd9.
The commit was part of a patchset which broke MinorCPU regressions
(switcheroo)
Change-Id: I3c16a6478ba44b9d27cdd3d64a710a356999df05
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18603
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
diff --git a/src/cpu/minor/decode.cc b/src/cpu/minor/decode.cc
index 94d3dec..390ca5f 100644
--- a/src/cpu/minor/decode.cc
+++ b/src/cpu/minor/decode.cc
@@ -314,9 +314,7 @@
}
for (auto tid : priority_list) {
- if (cpu.getContext(tid)->status() == ThreadContext::Active &&
- getInput(tid) &&
- !decodeInfo[tid].blocked) {
+ if (getInput(tid) && !decodeInfo[tid].blocked) {
threadPriority = tid;
return tid;
}
diff --git a/src/cpu/minor/execute.cc b/src/cpu/minor/execute.cc
index 6d751ba..81d310b 100644
--- a/src/cpu/minor/execute.cc
+++ b/src/cpu/minor/execute.cc
@@ -1683,12 +1683,7 @@
for (auto tid : priority_list) {
ExecuteThreadInfo &ex_info = executeInfo[tid];
-
- bool is_thread_active =
- cpu.getContext(tid)->status() == ThreadContext::Active;
- bool can_commit_insts = !ex_info.inFlightInsts->empty() &&
- is_thread_active;
-
+ bool can_commit_insts = !ex_info.inFlightInsts->empty();
if (can_commit_insts) {
QueuedInst *head_inflight_inst = &(ex_info.inFlightInsts->front());
MinorDynInstPtr inst = head_inflight_inst->inst;
@@ -1754,8 +1749,7 @@
}
for (auto tid : priority_list) {
- if (cpu.getContext(tid)->status() == ThreadContext::Active &&
- getInput(tid)) {
+ if (getInput(tid)) {
issuePriority = tid;
return tid;
}
diff --git a/src/cpu/minor/fetch2.cc b/src/cpu/minor/fetch2.cc
index 9347e4c..b374ee9 100644
--- a/src/cpu/minor/fetch2.cc
+++ b/src/cpu/minor/fetch2.cc
@@ -586,9 +586,7 @@
}
for (auto tid : priority_list) {
- if (cpu.getContext(tid)->status() == ThreadContext::Active &&
- getInput(tid) &&
- !fetchInfo[tid].blocked) {
+ if (getInput(tid) && !fetchInfo[tid].blocked) {
threadPriority = tid;
return tid;
}