> On Sept. 22, 2015, 2:03 p.m., Andreas Hansson wrote:
> > src/mem/cache/cache.cc, line 1771
> > <http://reviews.gem5.org/r/3047/diff/1/?file=49087#file49087line1771>
> >
> >     The trick here is in the difference between snoopDelay and headerDelay.
> >     
> >     Snoop delay is where we do the max on each level. Header delay is just 
> > used to eventually pay for it and pass it "downwards".

Here is what I think you are doing. Suppose we have three levels of caching.  
We have three private 
controllers (A1,B1,C1) at the first level, another three private controllers at 
the second level 
(A2,B2,C2) and one single shared controller (S) at the third level. When S 
receives a packet from 
any of the second level controllers, it forwards  those packets to the other 
second level 
controllers so that they can invalidate or writeback blocks if they need to.

Now suppose A2 sent a packet to S which S forwarded to B2 and C2. Then, B2 and 
C2 would update the snoop delay
of packet with their lookup latency and the header delay with the total delay 
of snoops sent to B1 and C1.
Since all this was happening in parallel (which is why I think you take max), 
should not the header delay 
be also maximum of the delays of snoops sent to B1 and C1.

I might be completely incorrect here.


- Nilay


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


On Aug. 19, 2015, 9:06 a.m., Andreas Hansson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/3047/
> -----------------------------------------------------------
> 
> (Updated Aug. 19, 2015, 9:06 a.m.)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> -------
> 
> Changeset 11058:55f9e34a82d7
> ---------------------------
> mem: Make the coherent crossbar account for timing snoops
> 
> This patch introduces the concept of a snoop latency. Given the
> requirement to snoop and forward packets in zero time (due to the
> coherency mechanism), the latency is accounted for later.
> 
> On a snoop, we establish the latency, and later add it to the header
> delay of the packet. To allow multiple caches to contribute to the
> snoop latency, we use a separate variable in the packet, and then take
> the maximum before adding it to the header delay.
> 
> 
> Diffs
> -----
> 
>   src/mem/cache/cache.cc 110cce93d398 
>   src/mem/coherent_xbar.cc 110cce93d398 
>   src/mem/packet.hh 110cce93d398 
> 
> Diff: http://reviews.gem5.org/r/3047/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Andreas Hansson
> 
>

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

Reply via email to