On Wed, 31 Aug 2011, Beckmann, Brad wrote:

Answers below:

-----Original Message-----
From: [email protected] [mailto:gem5-dev-
[email protected]] On Behalf Of Nilay Vaish
Sent: Tuesday, August 30, 2011 12:56 PM
To: [email protected]
Subject: [gem5-dev] Ruby: TraceRecord + CacheWarmup

A couple of questions that I have been thinking about --

1. I went through the code for TraceRecord. When a RubyRequest is created
using a trace record, the pkt pointer is provided as NULL. It seems to me that
this would lead to something wrong later on when callback takes place. In
particular, RubyPort::ruby_hit_callback() works on the packet pointer
provided in a ruby request.
   I think TraceRecord is currently broken. It might be that patch you use for
cache warmup makes changes to TraceRecord that make it work correctly.
Is this true or am I reading the code incorrectly?

The TraceRecord implemented in the cache warmup patch is not broken.  The cache 
warmup patch adds functionality to Sequencer::hitCallback that simply returns 
when under cache warmup mode.  Thus the RubyPort::ruby_hit_callback function is 
never called.


2. I went back and read the discussion on cache warmup that took place in
late June. I am wondering about the need for timing cache warmup. Is it not
possible to simply serialize the state of cache controller like it is done for
other components of gem5?

Not if you want to use cache traces across different protocols.  Workload 
generation is a hard, tedious effort.  It is important to leverage that work as 
much as possible and construct checkpoints that are as architecturally 
independent as possible.

Brad



Brad, has there been any progress on the cache warmup patch? I have this patch which I talked about a month back that touches upon warmup and trace record.

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

Reply via email to