Srikant Bharadwaj has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/44286 )
Change subject: mem-garnet: Change flitbuffer structure to deque
..
mem-garnet: Change flitbuffer structure to deque
Flitbuffers act as FIFOs for internal links and output queues
in routers. This change replaces the use of vectors with deque
for performance improvements. The older implementation of using
a vector combined with a heap sort was both incorrect and
inefficient.
Incorrect because flit buffers should act strictly
as FIFO, sorting them based on time changes the order which affects
functionality in the case of DVFS enabled NoCs.
Change-Id: Ieba40f85628b7c7255e86792d40b8ce3d7ac34b5
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/44286
Reviewed-by: Jason Lowe-Power
Maintainer: Jason Lowe-Power
Tested-by: kokoro
---
M src/mem/ruby/network/garnet/flitBuffer.hh
1 file changed, 2 insertions(+), 4 deletions(-)
Approvals:
Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved
kokoro: Regressions pass
diff --git a/src/mem/ruby/network/garnet/flitBuffer.hh
b/src/mem/ruby/network/garnet/flitBuffer.hh
index 40af826..91a3a86 100644
--- a/src/mem/ruby/network/garnet/flitBuffer.hh
+++ b/src/mem/ruby/network/garnet/flitBuffer.hh
@@ -55,8 +55,7 @@
getTopFlit()
{
flit *f = m_buffer.front();
-std::pop_heap(m_buffer.begin(), m_buffer.end(), flit::greater);
-m_buffer.pop_back();
+m_buffer.pop_front();
return f;
}
@@ -70,13 +69,12 @@
insert(flit *flt)
{
m_buffer.push_back(flt);
-std::push_heap(m_buffer.begin(), m_buffer.end(), flit::greater);
}
uint32_t functionalWrite(Packet *pkt);
private:
-std::vector m_buffer;
+std::deque m_buffer;
int max_size;
};
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/44286
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Ieba40f85628b7c7255e86792d40b8ce3d7ac34b5
Gerrit-Change-Number: 44286
Gerrit-PatchSet: 2
Gerrit-Owner: Srikant Bharadwaj
Gerrit-Reviewer: Jason Lowe-Power
Gerrit-Reviewer: Jieming Yin
Gerrit-Reviewer: Srikant Bharadwaj
Gerrit-Reviewer: kokoro
Gerrit-MessageType: merged
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s