diff options
author | Michael LeBeane <michael.lebeane@amd.com> | 2016-10-26 22:48:40 -0400 |
---|---|---|
committer | Michael LeBeane <michael.lebeane@amd.com> | 2016-10-26 22:48:40 -0400 |
commit | dc16c1ceb806135dddb8c79ef4d5ecf1336f21bc (patch) | |
tree | fb8a0dde281883f6e817ad1854e6f8f0219a9fe4 /src/dev/net/dist_etherlink.cc | |
parent | 48e43c9ad1cd292b494f3d05f9d13845dd1a6d1e (diff) | |
download | gem5-dc16c1ceb806135dddb8c79ef4d5ecf1336f21bc.tar.xz |
dev: Add m5 op to toggle synchronization for dist-gem5.
This patch adds the ability for an application to request dist-gem5 to begin/
end synchronization using an m5 op. When toggling on sync, all nodes agree
on the next sync point based on the maximum of all nodes' ticks. CPUs are
suspended until the sync point to avoid sending network messages until sync has
been enabled. Toggling off sync acts like a global execution barrier, where
all CPUs are disabled until every node reaches the toggle off point. This
avoids tricky situations such as one node hitting a toggle off followed by a
toggle on before the other nodes hit the first toggle off.
Diffstat (limited to 'src/dev/net/dist_etherlink.cc')
-rw-r--r-- | src/dev/net/dist_etherlink.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dev/net/dist_etherlink.cc b/src/dev/net/dist_etherlink.cc index a1cdc01b7..01f21d136 100644 --- a/src/dev/net/dist_etherlink.cc +++ b/src/dev/net/dist_etherlink.cc @@ -94,7 +94,8 @@ DistEtherLink::DistEtherLink(const Params *p) // create the dist (TCP) interface to talk to the peer gem5 processes. distIface = new TCPIface(p->server_name, p->server_port, p->dist_rank, p->dist_size, - p->sync_start, sync_repeat, this, p->is_switch, + p->sync_start, sync_repeat, this, + p->dist_sync_on_pseudo_op, p->is_switch, p->num_nodes); localIface = new LocalIface(name() + ".int0", txLink, rxLink, distIface); |