> On Sept. 14, 2015, 3:35 p.m., Nilay Vaish wrote: > > Tony, expand the review description and add the problem that you are facing.
Nilay, I believe the particular problem we encountered was that the previous code required the controller init functions to be called before the Network init functions. I think that order was happening for the public repo protocols, but our internal protocols did not follow that order. In general, sim_object init and constructors should not be dependent on a particular order to work correctly. So this patch fixes the problem. The bugs fixed in this patch were a big reason it took two weeks for us to merge with Joel's MessageBuffer changes. - Brad ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/3111/#review7171 ----------------------------------------------------------- On Sept. 14, 2015, 5:37 p.m., Tony Gutierrez wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/3111/ > ----------------------------------------------------------- > > (Updated Sept. 14, 2015, 5:37 p.m.) > > > Review request for Default. > > > Repository: gem5 > > > Description > ------- > > Changeset 11095:d1f176c26916 > --------------------------- > ruby: fix message buffer init order > > The recent changes to make MessageBuffers SimObjects required them to be > initialized in a particular order, which could break some protocols. Fix this > by calling initNetQueues on the external nodes of each external link in the > constructor of Network. > > This patch also refactors the duplicated code for checking network allocation > and setting net queues (which are called by initNetQueues) from the simple and > garnet networks to be in Network. > > > Diffs > ----- > > src/mem/ruby/network/Network.hh 1a9ecb4fe05e86fc7af4e4dcf616412274a3e7cd > src/mem/ruby/network/Network.cc 1a9ecb4fe05e86fc7af4e4dcf616412274a3e7cd > src/mem/ruby/network/garnet/BaseGarnetNetwork.hh > 1a9ecb4fe05e86fc7af4e4dcf616412274a3e7cd > src/mem/ruby/network/garnet/BaseGarnetNetwork.cc > 1a9ecb4fe05e86fc7af4e4dcf616412274a3e7cd > src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh > 1a9ecb4fe05e86fc7af4e4dcf616412274a3e7cd > src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc > 1a9ecb4fe05e86fc7af4e4dcf616412274a3e7cd > src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh > 1a9ecb4fe05e86fc7af4e4dcf616412274a3e7cd > src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc > 1a9ecb4fe05e86fc7af4e4dcf616412274a3e7cd > src/mem/ruby/network/simple/SimpleNetwork.hh > 1a9ecb4fe05e86fc7af4e4dcf616412274a3e7cd > src/mem/ruby/network/simple/SimpleNetwork.cc > 1a9ecb4fe05e86fc7af4e4dcf616412274a3e7cd > src/mem/slicc/symbols/StateMachine.py > 1a9ecb4fe05e86fc7af4e4dcf616412274a3e7cd > > Diff: http://reviews.gem5.org/r/3111/diff/ > > > Testing > ------- > > > Thanks, > > Tony Gutierrez > > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
