Gabe Black has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/12457
Change subject: systemc: Toggle off clumping methods together in the ready
list.
......................................................................
systemc: Toggle off clumping methods together in the ready list.
This is totally legal and good for performance, but because some of
Accellera's tests depend on processes which can run in any order
running in a particular order to reproduce the golden output, it needs
to be disabled to pass the tests.
This change leaves it as an option which could even be plumbed out in
the future to support some sort of "compatibility" mode with the tests.
An alternative would be to verify that the tests pass, change the
ordering to the alternative (but still correct) order, and then
update the reference output.
Change-Id: I113a40dec52f8b623253f8a27886b4a0abe89485
---
M src/systemc/core/scheduler.cc
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/systemc/core/scheduler.cc b/src/systemc/core/scheduler.cc
index c74d5cf..8346ed4 100644
--- a/src/systemc/core/scheduler.cc
+++ b/src/systemc/core/scheduler.cc
@@ -190,7 +190,9 @@
Scheduler::ready(Process *p)
{
// Clump methods together to minimize context switching.
- if (p->procKind() == ::sc_core::SC_METHOD_PROC_)
+ static bool cluster_methods = false;
+
+ if (cluster_methods && p->procKind() == ::sc_core::SC_METHOD_PROC_)
readyList.pushFirst(p);
else
readyList.pushLast(p);
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/12457
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I113a40dec52f8b623253f8a27886b4a0abe89485
Gerrit-Change-Number: 12457
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev