Hi Somayeh, As I mentioned to you over the phone, I think the best way to manipulate the order of the simObjectList is to modify the SimObject constructor to push the associated SimObject pointer on the front of the list instead of the back. You could do this by simply adding a Boolean parameter to SimObject that indicates whether to push it on the front or the back of the list. Eventually, we may want to make that some sort of integer for finer grain order, but for now a simple bool is probably easiest.
Others, please speak up if you disagree. Otherwise I believe this is the direction Somayeh is going to take. Thanks, Brad > -----Original Message----- > From: [email protected] [mailto:[email protected]] On > Behalf Of Somayeh Sardashti > Sent: Friday, May 13, 2011 10:14 AM > To: M5 Developer List > Subject: [m5-dev] Ruby Cache Warmup > > Hi, > > There is an unreleased patch that implements cache warmup at Ruby side. > The key advantage of this patch is that it implements Unserialize > function for Ruby cache hierarchy. On the other hand, it hijacks Ruby > Event Queue APIs (not gem5 standard event queue). To further unify Ruby > with the rest of gem5, I want to remove the current eventqueue > highjacking and try to use the main gem5 eventqueue to run the cache > warmup trace. > > One solution is to call the c++ simulate() function inside the ruby > Unserialize function, but we should ensure that it is called before all > other unserialize functions, including the Globals and MainEventQueue > (i.e., before the curTick and the rest of gem5). In order to implement > this, the easiest way is to reorder the SimObjects during the > serialization process, rather than some complicated analysis during the > unserialize process.The order SimObjects are serialized is the order > they are initialized and configured. We can reorder the list of > SimObjects before traversing it in SimObject::serializeAll. > > I am not sure if this easiest way is actually the best way too! That > would be great if you give me your comments and feedbacks on this > implementation technique? > > Regards, > Somayeh > _______________________________________________ > m5-dev mailing list > [email protected] > http://m5sim.org/mailman/listinfo/m5-dev _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
