ruby: Fix double statistic registration in garnet
authorMatthew Poremba <Matthew.Poremba@amd.com>
Fri, 1 Jul 2016 15:31:37 +0000 (10:31 -0500)
committerMatthew Poremba <Matthew.Poremba@amd.com>
Fri, 1 Jul 2016 15:31:37 +0000 (10:31 -0500)
Currently garnet will not run due to double statistic registration of new
stats in ClockedObject. This occurs because a temporary array named 'cls'
is being added as a child to garnet internal and external link SimObjects.
This patch simply renames the temporary array which prevents it from
being added as a child object and avoids the assertion that a statistic
was already registered.

Committed by Jason Lowe-Power <jason@lowepower.com>

src/mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.py

index c7833ee961795cf8623e7e511c148d2074226a91..5a4f3026ef72a0a4b8b5fb06b455621154898b1d 100644 (file)
@@ -53,19 +53,20 @@ class GarnetIntLink_d(BasicIntLink):
     cxx_header = "mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.hh"
     # The detailed fixed pipeline bi-directional link include two main
     # forward links and two backward flow-control links, one per direction
-    nls = []
+    _nls = []
     # In uni-directional link
-    nls.append(NetworkLink_d());
+    _nls.append(NetworkLink_d());
     # Out uni-directional link
-    nls.append(NetworkLink_d());
-    network_links = VectorParam.NetworkLink_d(nls, "forward links")
+    _nls.append(NetworkLink_d());
+    network_links = VectorParam.NetworkLink_d(_nls, "forward links")
 
-    cls = []
+    _cls = []
     # In uni-directional link
-    cls.append(CreditLink_d());
+    _cls.append(CreditLink_d());
     # Out uni-directional link
-    cls.append(CreditLink_d());
-    credit_links = VectorParam.CreditLink_d(cls, "backward flow-control links")
+    _cls.append(CreditLink_d());
+    credit_links = VectorParam.CreditLink_d(_cls,
+                                            "backward flow-control links")
 
 # Exterior fixed pipeline links between a router and a controller
 class GarnetExtLink_d(BasicExtLink):
@@ -73,16 +74,17 @@ class GarnetExtLink_d(BasicExtLink):
     cxx_header = "mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.hh"
     # The detailed fixed pipeline bi-directional link include two main
     # forward links and two backward flow-control links, one per direction
-    nls = []
+    _nls = []
     # In uni-directional link
-    nls.append(NetworkLink_d());
+    _nls.append(NetworkLink_d());
     # Out uni-directional link
-    nls.append(NetworkLink_d());
-    network_links = VectorParam.NetworkLink_d(nls, "forward links")
+    _nls.append(NetworkLink_d());
+    network_links = VectorParam.NetworkLink_d(_nls, "forward links")
 
-    cls = []
+    _cls = []
     # In uni-directional link
-    cls.append(CreditLink_d());
+    _cls.append(CreditLink_d());
     # Out uni-directional link
-    cls.append(CreditLink_d());
-    credit_links = VectorParam.CreditLink_d(cls, "backward flow-control links")
+    _cls.append(CreditLink_d());
+    credit_links = VectorParam.CreditLink_d(_cls,
+                                            "backward flow-control links")