Tiago Mück has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/31256 )
Change subject: mem-ruby: Network can use custom data msg size
..
mem-ruby: Network can use custom data msg size
The size for network data messages can be set using a configuration
parameter. This is necessary so line transfers may be split in multiple
messages at the protocol level.
Change-Id: I86a272de597b04a898071db412b921cbe1651ef0
Signed-off-by: Tiago Mück
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/31256
Reviewed-by: Jason Lowe-Power
Reviewed-by: Srikant Bharadwaj
Maintainer: Jason Lowe-Power
Tested-by: kokoro
---
M src/mem/ruby/network/Network.cc
M src/mem/ruby/network/Network.hh
M src/mem/ruby/network/Network.py
3 files changed, 10 insertions(+), 7 deletions(-)
Approvals:
Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved
Srikant Bharadwaj: Looks good to me, approved
kokoro: Regressions pass
diff --git a/src/mem/ruby/network/Network.cc
b/src/mem/ruby/network/Network.cc
index cda99b1..a676a38 100644
--- a/src/mem/ruby/network/Network.cc
+++ b/src/mem/ruby/network/Network.cc
@@ -55,6 +55,10 @@
m_virtual_networks = p->number_of_virtual_networks;
m_control_msg_size = p->control_msg_size;
+fatal_if(p->data_msg_size > p->ruby_system->getBlockSizeBytes(),
+ "%s: data message size > cache line size", name());
+m_data_msg_size = p->data_msg_size + m_control_msg_size;
+
params()->ruby_system->registerNetwork(this);
// Populate localNodeVersions with the version of each MachineType in
@@ -150,12 +154,6 @@
delete m_topology_ptr;
}
-void
-Network::init()
-{
-m_data_msg_size = RubySystem::getBlockSizeBytes() + m_control_msg_size;
-}
-
uint32_t
Network::MessageSizeType_to_int(MessageSizeType size_type)
{
diff --git a/src/mem/ruby/network/Network.hh
b/src/mem/ruby/network/Network.hh
index f151aed..371ceb8 100644
--- a/src/mem/ruby/network/Network.hh
+++ b/src/mem/ruby/network/Network.hh
@@ -82,7 +82,6 @@
{ return dynamic_cast(_params); }
virtual ~Network();
-void init() override;
static uint32_t getNumberOfVirtualNetworks() { return
m_virtual_networks; }
int getNumNodes() const { return m_nodes; }
diff --git a/src/mem/ruby/network/Network.py
b/src/mem/ruby/network/Network.py
index 8999ff1..5febaad 100644
--- a/src/mem/ruby/network/Network.py
+++ b/src/mem/ruby/network/Network.py
@@ -25,6 +25,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
from m5.params import *
+from m5.proxy import *
from m5.objects.ClockedObject import ClockedObject
from m5.objects.BasicLink import BasicLink
@@ -53,3 +54,8 @@
slave = DeprecatedParam(in_port, '`slave` is now called `in_port`')
out_port = VectorRequestPort("CPU output port")
master = DeprecatedParam(out_port, '`master` is now called `out_port`')
+
+data_msg_size = Param.Int(Parent.block_size_bytes,
+"Size of data messages. Defaults to the
parent "
+"RubySystem cache line size.")
+
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/31256
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: I86a272de597b04a898071db412b921cbe1651ef0
Gerrit-Change-Number: 31256
Gerrit-PatchSet: 4
Gerrit-Owner: Tiago Mück
Gerrit-Reviewer: Jason Lowe-Power
Gerrit-Reviewer: Srikant Bharadwaj
Gerrit-Reviewer: Tiago Mück
Gerrit-Reviewer: kokoro
Gerrit-CC: Bradford Beckmann
Gerrit-CC: Matthew Poremba
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