Review Board 2.0.15


sim: initial stab at multiple event queues.

Review Request #846 - Created Sept. 6, 2011 and submitted

Information
Steve Reinhardt
gem5
Reviewers
Default
ali, gblack, nate, stever
sim: initial stab at multiple event queues.
This patch creates multiple event queues.  SimObjects
specify via the new eventq_index parameter which queue
they want to schedule on.  The number of event queues
(and thus threads) is controlled implicitly by the max
value of eventq_index.

This code seems to work in that multiple event queues
can be created and events scheduled on an alternate
queue (by changing the default eventq_index value in
SimObject.py).  However, without additional synchronization,
spreading communicating SimObjects across separate
queues will not work.

This patch is not intended to be definitive, or to be
considered for committing in anything like the current
form, but just an initial attempt to make something that
works that we can build and improve upon.

This patch depends on two prior patches:
- "pseudo_inst: clean up workbegin/workend functions" (844)
- "event: minor cleanup" (845)

   
Review request changed
Updated (March 11, 2014, 7:45 a.m.)

Status: Closed (submitted)