[gem5-dev] changeset in gem5: ruby: fix round robin arbiter in garnet2.0

2017-02-12 Thread Tushar Krishna
changeset 3c38d3e74980 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=3c38d3e74980
description:
ruby: fix round robin arbiter in garnet2.0
The rr arbiter pointer in garnet was getting updated on every request,
even if there is no grant. This was leading to a huge variance in wait
time at a router at high injection rates.
This patch corrects it to update upon a grant.

diffstat:

 src/mem/ruby/network/garnet2.0/SwitchAllocator.cc |  22 +++---
 1 files changed, 11 insertions(+), 11 deletions(-)

diffs (53 lines):

diff -r 79c3f6a60392 -r 3c38d3e74980 
src/mem/ruby/network/garnet2.0/SwitchAllocator.cc
--- a/src/mem/ruby/network/garnet2.0/SwitchAllocator.cc Sat Feb 11 11:11:48 
2017 -0500
+++ b/src/mem/ruby/network/garnet2.0/SwitchAllocator.cc Sun Feb 12 15:00:03 
2017 -0500
@@ -116,13 +116,6 @@
 for (int inport = 0; inport < m_num_inports; inport++) {
 int invc = m_round_robin_invc[inport];
 
-// Select next round robin vc candidate within valid vnet
-int next_round_robin_invc = invc;
-next_round_robin_invc++;
-if (next_round_robin_invc >= m_num_vcs)
-next_round_robin_invc = 0;
-m_round_robin_invc[inport] = next_round_robin_invc;
-
 for (int invc_iter = 0; invc_iter < m_num_vcs; invc_iter++) {
 
 if (m_input_unit[inport]->need_stage(invc, SA_,
@@ -142,6 +135,12 @@
 m_input_arbiter_activity++;
 m_port_requests[outport][inport] = true;
 m_vc_winners[outport][inport]= invc;
+
+// Update Round Robin pointer
+m_round_robin_invc[inport]++;
+if (m_round_robin_invc[inport] >= m_num_vcs)
+m_round_robin_invc[inport] = 0;
+
 break; // got one vc winner for this port
 }
 }
@@ -175,10 +174,6 @@
 // Independent arbiter at each output port
 for (int outport = 0; outport < m_num_outports; outport++) {
 int inport = m_round_robin_inport[outport];
-m_round_robin_inport[outport]++;
-
-if (m_round_robin_inport[outport] >= m_num_inports)
-m_round_robin_inport[outport] = 0;
 
 for (int inport_iter = 0; inport_iter < m_num_inports;
  inport_iter++) {
@@ -256,6 +251,11 @@
 // remove this request
 m_port_requests[outport][inport] = false;
 
+// Update Round Robin pointer
+m_round_robin_inport[outport]++;
+if (m_round_robin_inport[outport] >= m_num_inports)
+m_round_robin_inport[outport] = 0;
+
 break; // got a input winner for this outport
 }
 
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 3781: riscv: Remove ECALL tests from insttest

2017-02-12 Thread Andreas Hansson


> On Jan. 25, 2017, 11:28 a.m., Andreas Sandberg wrote:
> > Ship It!

What was the verdict? Is it just a matter of an updated patch 
description/summary and then this should be pushed?


- Andreas


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/3781/#review9316
---


On Jan. 24, 2017, 4:33 p.m., Alec Roelke wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/3781/
> ---
> 
> (Updated Jan. 24, 2017, 4:33 p.m.)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> ---
> 
> Changeset 11796:1c03f7dcaa8c
> ---
> riscv: Remove ECALL tests from insttest
> 
> The system calls tested in rv64i.cpp in RISC-V's insttest suite have
> different behavior depending on the operating system and file system they
> are run on. This patch removes those tests from the regression.
> 
> [Change deletion of ECALL test to block comment.]
> [Restore ECALL test but remove test output to test only for completion
> without error.]
> 
> 
> Diffs
> -
> 
>   tests/quick/se/02.insttest/ref/riscv/linux-rv64i/minor-timing/config.ini 
> 97eebddaae84 
>   tests/quick/se/02.insttest/ref/riscv/linux-rv64i/minor-timing/config.json 
> 97eebddaae84 
>   tests/quick/se/02.insttest/ref/riscv/linux-rv64i/minor-timing/simerr 
> 97eebddaae84 
>   tests/quick/se/02.insttest/ref/riscv/linux-rv64i/minor-timing/simout 
> 97eebddaae84 
>   tests/quick/se/02.insttest/ref/riscv/linux-rv64i/minor-timing/stats.txt 
> 97eebddaae84 
>   tests/quick/se/02.insttest/ref/riscv/linux-rv64i/simple-atomic/config.ini 
> 97eebddaae84 
>   tests/quick/se/02.insttest/ref/riscv/linux-rv64i/simple-atomic/config.json 
> 97eebddaae84 
>   tests/quick/se/02.insttest/ref/riscv/linux-rv64i/simple-atomic/simerr 
> 97eebddaae84 
>   tests/quick/se/02.insttest/ref/riscv/linux-rv64i/simple-atomic/simout 
> 97eebddaae84 
>   tests/quick/se/02.insttest/ref/riscv/linux-rv64i/simple-atomic/stats.txt 
> 97eebddaae84 
>   
> tests/quick/se/02.insttest/ref/riscv/linux-rv64i/simple-timing-ruby/config.ini
>  97eebddaae84 
>   
> tests/quick/se/02.insttest/ref/riscv/linux-rv64i/simple-timing-ruby/config.json
>  97eebddaae84 
>   tests/quick/se/02.insttest/ref/riscv/linux-rv64i/simple-timing-ruby/simerr 
> 97eebddaae84 
>   tests/quick/se/02.insttest/ref/riscv/linux-rv64i/simple-timing-ruby/simout 
> 97eebddaae84 
>   
> tests/quick/se/02.insttest/ref/riscv/linux-rv64i/simple-timing-ruby/stats.txt 
> 97eebddaae84 
>   tests/quick/se/02.insttest/ref/riscv/linux-rv64i/simple-timing/config.ini 
> 97eebddaae84 
>   tests/quick/se/02.insttest/ref/riscv/linux-rv64i/simple-timing/config.json 
> 97eebddaae84 
>   tests/quick/se/02.insttest/ref/riscv/linux-rv64i/simple-timing/simerr 
> 97eebddaae84 
>   tests/quick/se/02.insttest/ref/riscv/linux-rv64i/simple-timing/simout 
> 97eebddaae84 
>   tests/quick/se/02.insttest/ref/riscv/linux-rv64i/simple-timing/stats.txt 
> 97eebddaae84 
> 
> Diff: http://reviews.gem5.org/r/3781/diff/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> Alec Roelke
> 
>

___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 3777: misc: Clean up and complete the gem5<->SystemC-TLM bridge [6/10]

2017-02-12 Thread Christian Menard


> On Feb. 11, 2017, 6:09 p.m., Jason Lowe-Power wrote:
> > This no longer applies cleanly. I think it's probably something I screwed 
> > up when pushing all of the patches. I tried to go through and manually fix 
> > the rejections, but I'm not confident in how to do it.
> > 
> > Could you update this diff on top of the current mainline? I'll commit it 
> > immediately once you do.
> > 
> > Sorry for the inconvenience.

On my machine the patch applied cleanly after pulling from upstream. I updated 
the diff anyway and hope it works now.


- Christian


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/3777/#review9417
---


On Feb. 12, 2017, 9:37 a.m., Christian Menard wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/3777/
> ---
> 
> (Updated Feb. 12, 2017, 9:37 a.m.)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> ---
> 
> Changeset 11831:d89e145b7665
> ---
> misc: Clean up and complete the gem5<->SystemC-TLM bridge [6/10]
> 
> The current TLM bridge only provides a Slave Port that allows the gem5 world 
> to
> send request to the SystemC world. This patch series refractors and cleans up
> the existing code, and adds a Master Port that allows the SystemC world to 
> send
> requests to the gem5 world.
> 
> This patch:
>  * Update the README
> 
> 
> Diffs
> -
> 
>   util/tlm/README c10c50cb8ac9 
> 
> Diff: http://reviews.gem5.org/r/3777/diff/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> Christian Menard
> 
>

___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 3777: misc: Clean up and complete the gem5<->SystemC-TLM bridge [6/10]

2017-02-12 Thread Christian Menard

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/3777/
---

(Updated Feb. 12, 2017, 9:37 a.m.)


Review request for Default.


Repository: gem5


Description (updated)
---

Changeset 11831:d89e145b7665
---
misc: Clean up and complete the gem5<->SystemC-TLM bridge [6/10]

The current TLM bridge only provides a Slave Port that allows the gem5 world to
send request to the SystemC world. This patch series refractors and cleans up
the existing code, and adds a Master Port that allows the SystemC world to send
requests to the gem5 world.

This patch:
 * Update the README


Diffs (updated)
-

  util/tlm/README c10c50cb8ac9 

Diff: http://reviews.gem5.org/r/3777/diff/


Testing
---


Thanks,

Christian Menard

___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev