Hi Ed,

I am not quite sure what you are asking.

gem5 serialises all events, just like other discrete event simulators, so 
concurrent events are by necessity processed one at a time. The selection is 
based on even priority, and then FIFO. Conceptually all the events that are 
FIFO happen at the same time, so it would be quite interesting to shuffle them 
arbitrarily.

Andreas

From: gem5-users 
<[email protected]<mailto:[email protected]>> on behalf of 
Edward Kim <[email protected]<mailto:[email protected]>>
Reply-To: gem5 users mailing list 
<[email protected]<mailto:[email protected]>>
Date: Wednesday, 20 April 2016 at 09:25
To: gem5 users mailing list <[email protected]<mailto:[email protected]>>
Subject: [gem5-users] "event->process()" in EventQueue::serviceOne() at 
build/ALPHA/sim/eventq.cc:228

Hi all,

Let A be "event->process()" in EventQueue::serviceOne() at 
build/ALPHA/sim/eventq.cc:228.

Let B be "FullO3CPU<Impl>::TickEvent::process()" at 
build/ALPHA/cpu/o3/cpu.cc:138.

Let C be "EventWrapper<PacketQueue, &PacketQueue::processSendEvent>::process at 
build/ALPHA/sim/eventq.hh:739.


If A is executed, either B or C is selected and executed depending on 
occasions. I'm confused   the selection mechanism. Any help would be highly 
appreciated.

Best,

--Ed
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.
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to