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

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?


- Nathan


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

Reply via email to