> -----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
