Re: [Gems-users] cache flushing


Date: Tue, 20 Nov 2007 07:39:27 -0600
From: Mike Marty <mikem@xxxxxxxxxxx>
Subject: Re: [Gems-users] cache flushing
Mladen Nikitovic wrote:
Mike Marty wrote:
You need to flush the private caches of that processor. In an actual system, you would have to write back all dirty data to memory. In Simics+Ruby, you could possibly cheat because Ruby doesn't keep track of data. However even that isn't so simple because if you do have shared data that is owned by the processor being shutdown, then you really do need to initiate replacement operations so that the directory would not generate forward messages to your shutdown processor. So I think first you need to make sure all outstanding requests finish at that processor, then you need to walk the cache and initiate replacement operations for every cached line.
I was afraid of that :) Is this needed replacement operation already implemented in GEMS? This also relates to my earlier question (in another thread) regarding how to detect the number of replacements performed on a cache on a per-processor basis...
No, the directed replacement of a cache block, or all cache blocks, is not yet implemented.

You will also need to add your own profiling code to count replacements on a per-processor basis

--Mike


[← Prev in Thread] Current Thread [Next in Thread→]