diff options
author | Jieming Yin <jieming.yin@amd.com> | 2016-12-15 16:59:17 -0500 |
---|---|---|
committer | Jieming Yin <jieming.yin@amd.com> | 2016-12-15 16:59:17 -0500 |
commit | b9c7b8190c27ad161689934fa780859860cfd74f (patch) | |
tree | d619f13f20590cc41fbce7dd15e91758a4c0cf80 /configs/network | |
parent | cc1f5a4d1607a02246244b7a805cdb3b24bb259a (diff) | |
download | gem5-b9c7b8190c27ad161689934fa780859860cfd74f.tar.xz |
ruby: Detect garnet network-level deadlock.
This patch detects garnet network deadlock by monitoring
network interfaces. If a network interface continuously
fails to allocate virtual channels for a message, a
possible deadlock is detected.
Diffstat (limited to 'configs/network')
-rw-r--r-- | configs/network/Network.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/configs/network/Network.py b/configs/network/Network.py index 3c15a4f79..1fbb38167 100644 --- a/configs/network/Network.py +++ b/configs/network/Network.py @@ -70,6 +70,9 @@ def define_options(parser): default=False, help="""enable network fault model: see src/mem/ruby/network/fault_model/""") + parser.add_option("--garnet-deadlock-threshold", action="store", + type="int", default=50000, + help="network-level deadlock threshold.") def create_network(options, ruby): @@ -103,6 +106,7 @@ def init_network(options, network, InterfaceClass): network.vcs_per_vnet = options.vcs_per_vnet network.ni_flit_size = options.link_width_bits / 8 network.routing_algorithm = options.routing_algorithm + network.garnet_deadlock_threshold = options.garnet_deadlock_threshold if options.network == "simple": network.setup_buffers() |