From 9a1eb7a3d21befaf7ded4fd7595418bde81d0a0b Mon Sep 17 00:00:00 2001 From: Giacomo Travaglini Date: Fri, 1 Mar 2019 13:56:25 +0000 Subject: [PATCH] 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 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18603 Maintainer: Jason Lowe-Power Tested-by: kokoro --- src/cpu/minor/decode.cc | 4 +--- src/cpu/minor/execute.cc | 10 ++-------- src/cpu/minor/fetch2.cc | 4 +--- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/src/cpu/minor/decode.cc b/src/cpu/minor/decode.cc index 94d3dec03..390ca5f11 100644 --- a/src/cpu/minor/decode.cc +++ b/src/cpu/minor/decode.cc @@ -314,9 +314,7 @@ Decode::getScheduledThread() } 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 6d751bade..81d310bba 100644 --- a/src/cpu/minor/execute.cc +++ b/src/cpu/minor/execute.cc @@ -1683,12 +1683,7 @@ Execute::getCommittingThread() 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 @@ Execute::getIssuingThread() } 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 9347e4ccb..b374ee9bf 100644 --- a/src/cpu/minor/fetch2.cc +++ b/src/cpu/minor/fetch2.cc @@ -586,9 +586,7 @@ Fetch2::getScheduledThread() } 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; } -- 2.30.2