diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2012-09-18 22:46:34 -0500 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2012-09-18 22:46:34 -0500 |
commit | 86b1c0fd540b57c1e7bba948ad0417f22f90eb41 (patch) | |
tree | c4dc42939158c13b5eeff2f6809fa800c99e490b /src/mem/ruby/network/simple/Throttle.cc | |
parent | d2b57a7473768e8aff3707916b40b264cab6821c (diff) | |
download | gem5-86b1c0fd540b57c1e7bba948ad0417f22f90eb41.tar.xz |
ruby: avoid using g_system_ptr for event scheduling
This patch removes the use of g_system_ptr for event scheduling. Each consumer
object now needs to specify upfront an EventManager object it would use for
scheduling events. This makes the ruby memory system more amenable for a
multi-threaded simulation.
Diffstat (limited to 'src/mem/ruby/network/simple/Throttle.cc')
-rw-r--r-- | src/mem/ruby/network/simple/Throttle.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/mem/ruby/network/simple/Throttle.cc b/src/mem/ruby/network/simple/Throttle.cc index 05dfc2553..e4dc71527 100644 --- a/src/mem/ruby/network/simple/Throttle.cc +++ b/src/mem/ruby/network/simple/Throttle.cc @@ -49,14 +49,18 @@ const int PRIORITY_SWITCH_LIMIT = 128; static int network_message_to_size(NetworkMessage* net_msg_ptr); Throttle::Throttle(int sID, NodeID node, int link_latency, - int link_bandwidth_multiplier, int endpoint_bandwidth) + int link_bandwidth_multiplier, int endpoint_bandwidth, + EventManager *em) + : Consumer(em) { init(node, link_latency, link_bandwidth_multiplier, endpoint_bandwidth); m_sID = sID; } Throttle::Throttle(NodeID node, int link_latency, - int link_bandwidth_multiplier, int endpoint_bandwidth) + int link_bandwidth_multiplier, int endpoint_bandwidth, + EventManager *em) + : Consumer(em) { init(node, link_latency, link_bandwidth_multiplier, endpoint_bandwidth); m_sID = 0; |