----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/1667/#review4011 -----------------------------------------------------------
Hi Nilay, Thanks for all of this, it's really great to see us making some progress here. A concern I have is with the use of __thread and how that effects clang whose static analysis tool has found quite a few bugs for us recently and OS X which doesn't support TLS (at least until something on OS X implements C++11 thread local support). So, I think we need to come up with some strategy to deal with this as quite a few people use OS x as their primary development machine for gem5 and I don't think we want to weld ourselves to gcc since llvm/clang does have some good points. Thanks, Ali src/python/m5/SimObject.py <http://reviews.gem5.org/r/1667/#comment3859> How does this work? I'm not saying it doesn't I just don't understand what the proxy is doing in this case? Looking for any object that is a UInt32? Do we want to have an specific EventQueueId object? src/sim/eventq.cc <http://reviews.gem5.org/r/1667/#comment3860> I'm a bit concerned with using __thread since it isn't supported on OS X as far as I know. I'd be fine for requiring TLS on a platform that we're using multi-threading, but if we're going to go down that route we need to ifdef it such that single threaded simulation doesn't use it. The other way would be to make _tls-mainEventQueue a #define and have a TLS or pthread_getspecfific()/setspecific() version. - Ali Saidi On Feb. 10, 2013, 1:44 p.m., Nilay Vaish wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/1667/ > ----------------------------------------------------------- > > (Updated Feb. 10, 2013, 1:44 p.m.) > > > Review request for Default. > > > Description > ------- > > Changeset 9497:484d33f78ef4 > --------------------------- > sim: simulate with multiple event queues > This patch extends the patch Steve posted on the reviewboard (846). The patch > updated with all the changes that have taken place over last 15 months. Code > has been added so as actually carry out a quantum-based parallel simulation. > > The patch was tested in two different configurations: > 1. ruby_network_test.py: in this simulation L1 cache controllers receive > requests from the cpu. The requests are replied to immediately without > any communication taking place with any other level. > 2. twosys-tsunami-simple-atomic: this configuration simulates a client-server > system which are connected by an ethernet link. > > We still lack the ability to communicate using message buffers or ports. But > other things like simulation start and end, synchronizing after every quantum > seem to be working. > > > Diffs > ----- > > src/cpu/base.cc ff4b1bde5f60 > src/dev/etherlink.cc ff4b1bde5f60 > src/python/m5/SimObject.py ff4b1bde5f60 > src/python/m5/event.py ff4b1bde5f60 > src/python/m5/main.py ff4b1bde5f60 > src/python/swig/core.i ff4b1bde5f60 > src/python/swig/event.i ff4b1bde5f60 > src/sim/SConscript ff4b1bde5f60 > src/sim/core.hh ff4b1bde5f60 > src/sim/debug.cc ff4b1bde5f60 > src/sim/eventq.hh ff4b1bde5f60 > src/sim/eventq.cc ff4b1bde5f60 > src/sim/eventq_impl.hh ff4b1bde5f60 > src/sim/global_event.hh PRE-CREATION > src/sim/global_event.cc PRE-CREATION > src/sim/serialize.cc ff4b1bde5f60 > src/sim/sim_events.hh ff4b1bde5f60 > src/sim/sim_events.cc ff4b1bde5f60 > src/sim/sim_exit.hh ff4b1bde5f60 > src/sim/sim_object.cc ff4b1bde5f60 > src/sim/simulate.hh ff4b1bde5f60 > src/sim/simulate.cc ff4b1bde5f60 > src/sim/stat_control.cc ff4b1bde5f60 > > Diff: http://reviews.gem5.org/r/1667/diff/ > > > Testing > ------- > > > Thanks, > > Nilay Vaish > > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
