changeset 98ad73bdc579 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=98ad73bdc579
description:
ruby: replace Time with Cycles in MessageBuffer
diffstat:
src/mem/ruby/buffers/MessageBuffer.cc | 22 ++++++++++------------
src/mem/ruby/buffers/MessageBuffer.hh | 12 ++++++------
2 files changed, 16 insertions(+), 18 deletions(-)
diffs (130 lines):
diff -r 45cd0bc6c507 -r 98ad73bdc579 src/mem/ruby/buffers/MessageBuffer.cc
--- a/src/mem/ruby/buffers/MessageBuffer.cc Sun Feb 10 21:26:25 2013 -0600
+++ b/src/mem/ruby/buffers/MessageBuffer.cc Sun Feb 10 21:26:26 2013 -0600
@@ -39,7 +39,8 @@
using m5::stl_helpers::operator<<;
MessageBuffer::MessageBuffer(const string &name)
- : m_last_arrival_time(0)
+ : m_time_last_time_size_checked(0), m_time_last_time_enqueue(0),
+ m_time_last_time_pop(0), m_last_arrival_time(0)
{
m_msg_counter = 0;
m_consumer_ptr = NULL;
@@ -51,9 +52,6 @@
m_max_size = -1;
m_randomization = true;
m_size_last_time_size_checked = 0;
- m_time_last_time_size_checked = 0;
- m_time_last_time_enqueue = 0;
- m_time_last_time_pop = 0;
m_size_at_cycle_start = 0;
m_msgs_this_cycle = 0;
m_not_avail_count = 0;
@@ -236,7 +234,7 @@
}
}
-Time
+Cycles
MessageBuffer::dequeue_getDelayCycles(MsgPtr& message)
{
dequeue(message);
@@ -253,14 +251,14 @@
DPRINTF(RubyQueue, "Enqueue message is %s\n", (*(message.get())));
}
-Time
+Cycles
MessageBuffer::dequeue_getDelayCycles()
{
// get MsgPtr of the message about to be dequeued
MsgPtr message = m_prio_heap.front().m_msgptr;
// get the delay cycles
- Time delayCycles = setAndReturnDelayCycles(message);
+ Cycles delayCycles = setAndReturnDelayCycles(message);
dequeue();
return delayCycles;
@@ -291,8 +289,8 @@
m_msg_counter = 0;
m_size = 0;
- m_time_last_time_enqueue = 0;
- m_time_last_time_pop = 0;
+ m_time_last_time_enqueue = Cycles(0);
+ m_time_last_time_pop = Cycles(0);
m_size_at_cycle_start = 0;
m_msgs_this_cycle = 0;
}
@@ -319,7 +317,7 @@
{
DPRINTF(RubyQueue, "ReanalyzeMessages\n");
assert(m_stall_msg_map.count(addr) > 0);
- Cycles nextCycle(m_clockobj_ptr->curCycle() + Cycles(1));
+ Cycles nextCycle = m_clockobj_ptr->curCycle() + Cycles(1);
//
// Put all stalled messages associated with this address back on the
@@ -344,7 +342,7 @@
MessageBuffer::reanalyzeAllMessages()
{
DPRINTF(RubyQueue, "ReanalyzeAllMessages %s\n");
- Cycles nextCycle(m_clockobj_ptr->curCycle() + Cycles(1));
+ Cycles nextCycle = m_clockobj_ptr->curCycle() + Cycles(1);
//
// Put all stalled messages associated with this address back on the
@@ -388,7 +386,7 @@
(m_stall_msg_map[addr]).push_back(message);
}
-Time
+Cycles
MessageBuffer::setAndReturnDelayCycles(MsgPtr msg_ptr)
{
// get the delay cycles of the message at the top of the queue
diff -r 45cd0bc6c507 -r 98ad73bdc579 src/mem/ruby/buffers/MessageBuffer.hh
--- a/src/mem/ruby/buffers/MessageBuffer.hh Sun Feb 10 21:26:25 2013 -0600
+++ b/src/mem/ruby/buffers/MessageBuffer.hh Sun Feb 10 21:26:26 2013 -0600
@@ -115,11 +115,11 @@
void enqueue(MsgPtr message, Cycles delta);
//! returns delay ticks of the message.
- Time dequeue_getDelayCycles(MsgPtr& message);
+ Cycles dequeue_getDelayCycles(MsgPtr& message);
void dequeue(MsgPtr& message);
//! returns delay cycles of the message
- Time dequeue_getDelayCycles();
+ Cycles dequeue_getDelayCycles();
void dequeue() { pop(); }
void pop();
void recycle();
@@ -160,7 +160,7 @@
Cycles m_recycle_latency;
// Private Methods
- Time setAndReturnDelayCycles(MsgPtr message);
+ Cycles setAndReturnDelayCycles(MsgPtr message);
// Private copy constructor and assignment operator
MessageBuffer(const MessageBuffer& obj);
@@ -184,13 +184,13 @@
int m_max_size;
int m_size;
- Time m_time_last_time_size_checked;
+ Cycles m_time_last_time_size_checked;
int m_size_last_time_size_checked;
// variables used so enqueues appear to happen imediately, while
// pop happen the next cycle
- Time m_time_last_time_enqueue;
- Time m_time_last_time_pop;
+ Cycles m_time_last_time_enqueue;
+ Cycles m_time_last_time_pop;
int m_size_at_cycle_start;
int m_msgs_this_cycle;
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev