Review Board 2.0.15


ruby: consumer: move away from Consumer class

Review Request #2987 - Created July 23, 2015 and discarded

Information
Nilay Vaish
gem5
default
Reviewers
Default
Changeset 11136:c4c3b2f0e36b
---------------------------
ruby: consumer: move away from Consumer class

Objects in ruby memory system typically inherit from the Consumer class that
provides support for scheduling events.  The Consumer class maintains a std::set
of times at which events have been posted by the Derived class object.  Typically
this causes a lot of overhead.  Secondly, the objects schedule events that are
very coarse grained.  This patch reduces ruby memory system's reliance on the Consumer
class.

The patch changes the objects in the Network and the generated code for Controllers
in a significant way.  The generated controllers would now schedule events for
individual input ports and not for the entire controller itself.  Similarly, PerfectSwitch
and Throttle would now schedule events on individual message buffers and not for the
entire object.  This avoids looking at buffers that do not have any message pending.

   
Review request changed
Updated (Sept. 24, 2015, 7:59 a.m.)

Status: Discarded