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 <[email protected]>
Maintainer: Jason Lowe-Power <[email protected]>
Tested-by: kokoro <[email protected]>
---
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<flit *> m_buffer;
+ std::deque<flit *> 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 <[email protected]>
Gerrit-Reviewer: Jason Lowe-Power <[email protected]>
Gerrit-Reviewer: Jieming Yin <[email protected]>
Gerrit-Reviewer: Srikant Bharadwaj <[email protected]>
Gerrit-Reviewer: kokoro <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s