> On 2011-09-22 11:25:05, Nathan Binkert wrote: > > src/sim/eventq.hh, line 419 > > <http://reviews.m5sim.org/r/845/diff/1/?file=14868#file14868line419> > > > > Seems that we should be embedding _curTick in the event queue itself, > > providing a function something like this and making the global curTick() > > call mainEventQueue.foo() > > Steve Reinhardt wrote: > With my multi-queue code there's a TLS pointer to the thread's current > event queue, so it should work fine to put curTick in the queue. My only > concern is performance; I don't know how often we reference curTick and > whether the extra indirection would be a noticeable hit or not. > > That said, no one was using this particular function anyway. We can > always recreate it if needed. > > > Nathan Binkert wrote: > Oh sure. I'm not suggesting that you don't remove it now and recreate it > later, just what I was thinking of as a goal. > > As for the extra indirection, it seems to me that it is pretty rare that > you'd need to call curTick without needing anything else from the event > queue. Also, if the eventq is a global, is there any extra indirection? The > eventq is simply an offset in the globals and curTick is an offset within > that. With TLS, it's basically the same as well. In fact, is there really > an extra indirection ever? >
Good point... you're right, probably not. - Steve ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.m5sim.org/r/845/#review1558 ----------------------------------------------------------- On 2011-09-06 14:23:38, Steve Reinhardt wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.m5sim.org/r/845/ > ----------------------------------------------------------- > > (Updated 2011-09-06 14:23:38) > > > Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and > Nathan Binkert. > > > Summary > ------- > > event: minor cleanup > Initialize flags via the Event constructor instead of calling > setFlags() in the body of the derived class's constructor. I > forget exactly why, but this made life easier when implementing > multi-queue support. > > Also rename Event::getFlags() to isFlagSet() to better match > common usage, and get rid of some unused Event methods. > > > Diffs > ----- > > src/cpu/o3/commit_impl.hh b3585da1f970 > src/cpu/o3/inst_queue_impl.hh b3585da1f970 > src/cpu/o3/lsq_unit_impl.hh b3585da1f970 > src/dev/etherlink.cc b3585da1f970 > src/mem/ruby/eventqueue/RubyEventQueueNode.hh b3585da1f970 > src/sim/debug.cc b3585da1f970 > src/sim/eventq.hh b3585da1f970 > src/sim/sim_events.cc b3585da1f970 > src/sim/stat_control.cc b3585da1f970 > > Diff: http://reviews.m5sim.org/r/845/diff > > > Testing > ------- > > > Thanks, > > Steve > > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
