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

Review request for Default.


Repository: gem5


Description
-------

Changeset 10879:f244ad15be32
---------------------------
mem: Delay responses in the crossbar before forwarding

This patch changes how the crossbar classes deal with
responses. Instead of forwarding responses directly and burdening the
neighbouring modules in paying fot the latency (through the
pkt->headerDelay), we now queue them before sending them.

The coherency protocol is not affected as requests and any snoop
requests/responses are still passed on in zero time. Thus, the
responses end up paying for any header delay accumulated when passing
through the crossbar. Any latency incurred on the request path will be
paid for on the response side, if no other module has dealt with it.

As a result of this patch, responses are returned at a later
point. This affects the number of outstanding transactions, and quite
a few regressions see an impact in blocking due to no MSHRs, increased
cache-miss latencies, etc.

Going forward we should be able to use the same concept also for snoop
responses, and any request that is not an express snoop.


Diffs
-----

  src/mem/cache/cache_impl.hh ebb3d0737aa7 
  src/mem/coherent_xbar.hh ebb3d0737aa7 
  src/mem/coherent_xbar.cc ebb3d0737aa7 
  src/mem/noncoherent_xbar.hh ebb3d0737aa7 
  src/mem/noncoherent_xbar.cc ebb3d0737aa7 
  src/mem/snoop_filter.hh ebb3d0737aa7 
  src/mem/xbar.hh ebb3d0737aa7 

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


Testing
-------


Thanks,

Andreas Hansson

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to