summaryrefslogtreecommitdiff
path: root/src/mem/ruby/system/GPUCoalescer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/ruby/system/GPUCoalescer.cc')
-rw-r--r--src/mem/ruby/system/GPUCoalescer.cc22
1 files changed, 4 insertions, 18 deletions
diff --git a/src/mem/ruby/system/GPUCoalescer.cc b/src/mem/ruby/system/GPUCoalescer.cc
index 991b21717..a615c40fd 100644
--- a/src/mem/ruby/system/GPUCoalescer.cc
+++ b/src/mem/ruby/system/GPUCoalescer.cc
@@ -116,7 +116,10 @@ reqSegmentToHSASegment(Request* req)
}
GPUCoalescer::GPUCoalescer(const Params *p)
- : RubyPort(p), issueEvent(this), deadlockCheckEvent(this)
+ : RubyPort(p),
+ issueEvent([this]{ completeIssue(); }, "Issue coalesced request",
+ false, Event::Progress_Event_Pri),
+ deadlockCheckEvent([this]{ wakeup(); }, "GPUCoalescer deadlock check")
{
m_store_waiting_on_load_cycles = 0;
m_store_waiting_on_store_cycles = 0;
@@ -996,11 +999,6 @@ GPUCoalescer::recordRequestType(SequencerRequestType requestType) {
SequencerRequestType_to_string(requestType));
}
-GPUCoalescer::IssueEvent::IssueEvent(GPUCoalescer* _seq)
- : Event(Progress_Event_Pri), seq(_seq)
-{
-}
-
void
GPUCoalescer::completeIssue()
@@ -1042,18 +1040,6 @@ GPUCoalescer::completeIssue()
}
void
-GPUCoalescer::IssueEvent::process()
-{
- seq->completeIssue();
-}
-
-const char *
-GPUCoalescer::IssueEvent::description() const
-{
- return "Issue coalesced request";
-}
-
-void
GPUCoalescer::evictionCallback(Addr address)
{
ruby_eviction_callback(address);