)]}'
{
  "commit": "21a4cc9692e30390547bf99887840ee32a75233b",
  "tree": "92881278a2d8e1240106e94718997a04c9b68fe1",
  "parents": [
    "365ed5b9160486c20db192c3df4f025523100d74"
  ],
  "author": {
    "name": "Srikant Bharadwaj",
    "email": "srikant.bharadwaj@amd.com",
    "time": "Fri Feb 22 17:43:33 2019 -0500"
  },
  "committer": {
    "name": "Srikant Bharadwaj",
    "email": "srikant.bharadwaj@amd.com",
    "time": "Thu Feb 28 19:46:58 2019 +0000"
  },
  "message": "ruby: Fix garnet\u0027s round robin arbitration for vc selection\n\nGarnet utilizes round robin policy to select a VC for\ntransmission ar Network Interface and Routers. The current logic\nfor round robin is only fair if all the virtual networks are active\nat a given router. If the router or network interface is not\nreceiving traffic in from any vnet then the priority is always taken\nup by the next vnet in numerically (or loops back to 0).\n\nThis fix changes the way we perform round robin arbitration. When\na VC is selected in a cycle, the round robin pointer is set to the VC\nnext to it and is iterated from there on. If any VC does not have a\nflit in a given cycle, it will lose its turn until the next round.\nAt maximum traffic this will model round robin correctly even if\na certain VNET is not active at that unit.\n\nChange-Id: I9bf805221054f9f25bee14b57ff521f4ce4ca980\nReviewed-on: https://gem5-review.googlesource.com/c/16688\nReviewed-by: Jieming Yin \u003cJieming.Yin@amd.com\u003e\nMaintainer: Jason Lowe-Power \u003cjason@lowepower.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b3d89cab8ce6bbbb3f9e3e1242545f45580ffdd5",
      "old_mode": 33188,
      "old_path": "src/mem/ruby/network/garnet2.0/NetworkInterface.cc",
      "new_id": "4e692704d17ef7fdf660806beb37fac3c7801a5a",
      "new_mode": 33188,
      "new_path": "src/mem/ruby/network/garnet2.0/NetworkInterface.cc"
    },
    {
      "type": "modify",
      "old_id": "836f071fecef6793ca670cd8a0e241398cca749e",
      "old_mode": 33188,
      "old_path": "src/mem/ruby/network/garnet2.0/SwitchAllocator.cc",
      "new_id": "1e9d0e6f71c8826a4f053c1fa795aa2e09937087",
      "new_mode": 33188,
      "new_path": "src/mem/ruby/network/garnet2.0/SwitchAllocator.cc"
    }
  ]
}
