One of mine too ;) Already replied.

- Andrew
________________________________________
From: gem5-dev [[email protected]] On Behalf Of Cagdas Dirik via 
gem5-dev [[email protected]]
Sent: 08 November 2014 00:50
To: Cagdas Dirik; Andreas Hansson; Default
Subject: Re: [gem5-dev] Review Request 2457: sim: EventQueue wakeup on events 
scheduled outside the event loop

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2457/#review5447
-----------------------------------------------------------


I think this patch and corresponding wakeup event - and subsequent 
externalEvent at time zero - is complicating things for systemc patch (r/2458) 
when a checkpoint is being restored. Please see my comments on r/2458.

- Cagdas Dirik


On Sept. 29, 2014, 10:45 a.m., Andreas Hansson wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/2457/
> -----------------------------------------------------------
>
> (Updated Sept. 29, 2014, 10:45 a.m.)
>
>
> Review request for Default.
>
>
> Repository: gem5
>
>
> Description
> -------
>
> Changeset 10454:4eab81289ed0
> ---------------------------
> sim: EventQueue wakeup on events scheduled outside the event loop
>
> This patch adds a 'wakeup' member function to EventQueue which should be
> called on an event queue whenever an event is scheduled on the event queue
> from outside code within the call tree of the gem5 event loop.
>
> This clearly isn't necessary for normal gem5 EventQueue operation but
> becomes the minimum necessary interface to allow hosting gem5's event loop
> onto other schedulers where there may be calls into gem5 from external
> code which schedules events onto an EventQueue between the current time and
> the time of the next scheduled event.
>
> The use case I have in mind is a SystemC hosting where the event loop is:
>
>     while (more events) {
>         wait(time_to_next_event or wakeup)
>         setCurTick
>         service events at this time
>     }
>
> where the 'wait' needs to be woken up if time_to_next_event becomes shorter
> due to a scheduled event from SystemC arriving in a gem5 object.
>
> Requiring 'wakeup' to be called is a more efficient interface than
> requiring all gem5 event scheduling actions to affect the host scheduler.
>
> This interface could be located elsewhere, say on another global object,
> or by being passed by the host scheduler to objects which will schedule
> such events, but it seems cleanest to put it on EventQueue as it is
> actually a signal to the queue.
>
> EventQueue::wakeup is called for async_event events on event queue 0 as
> it's only important that *some* queue be triggered for such events.
>
>
> Diffs
> -----
>
>   src/base/pollevent.cc 28b31101d9e6
>   src/python/swig/pyevent.cc 28b31101d9e6
>   src/sim/eventq.hh 28b31101d9e6
>   src/sim/init_signals.cc PRE-CREATION
>
> Diff: http://reviews.gem5.org/r/2457/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Andreas Hansson
>
>

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev


-- IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium.  Thank you.

ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered 
in England & Wales, Company No:  2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, 
Registered in England & Wales, Company No:  2548782

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to