> -----Original Message-----
> From: Nilay Vaish [mailto:[email protected]]
> Sent: Sunday, September 30, 2012 3:03 PM
> To: Beckmann, Brad
> Cc: Default
> Subject: RE: Review Request: ruby: augment network to support functional
> accesses
> 
> On Fri, 28 Sep 2012, Beckmann, Brad wrote:
> >>
> >> I am assuming that only other buffers are the ones in the
> >> cache/directory/dma/ controllers. A separate call is made to
> >> functionally access these buffers.
> >>
> >>>
> >>> As you already know, I'm in favor of just creating a list of message
> >>> buffers by modifying the MessageBuffer constructor.  After seeing
> >>> the number of files you had to change with this existing patch, I'm
> >>> further convinced that is the better approach.  This current patch
> >>> seems quite hackish, and adding this support to Garnet is only going to
> be uglier.
> >>> What can I do to convince you that the MessageBuffer approach is
> better?
> >>> Or in other words, can you explain exactly what you don't like about
> >>> the MessageBuffer approach?
> >>>
> >>
> >> I think that going via network is better. Firstly, the list that
> >> would need to be created for accessing the buffers in the memory
> >> system, already exists as part of the network hierarchy we have.
> >> Secondly, it seems to that it would easier to debug if traverse the
> >> network in a structured manner rather than traversing a flat list.
> >>
> >
> > How is traversing the network plus calling all controllers to update
> > their message buffers easier than just creating a flat list?
> > Precedence in the simulator is that creating a flat list is better.
> > For example, to drain the system, the flat list of SimObjects is
> > traversed, not the configuration graph.
> >
> 
> I would be surprised if that is the case. I certainly would not create a
> new structure when one already exists, unless the new structure allows for
> some operation that could not have been possible otherwise.
> 
> --
> Nilay

But the structure doesn't already exist...that's my point.  We only have the 
network structure, which is a graph data structure of a whole bunch of things, 
including *some* MessageBuffers.  Other MessgeBuffers are embedded within the 
controllers and are inaccessible by the network.  Overall, you have to deal 
with a bunch of complicated data structures with this strategy.  Meanwhile the 
flat list of MessageBuffers is simple.

Brad



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

Reply via email to