Hi Shadi,

More than one cache above the shared Piranha cache will not work with the 
current Cache component.  I'm afraid the fix is non-trivial. 

The problem is that EvictWritable messages can be ambiguous with more 
than one level of cache.  At the shared cache, EvictWritable messages may 
indicate that the last writable copy of a block in the hierarchy has been 
evicted (here, the Piranha cache does the right thing).  Unfortunately, 
there may also be a writable/dirty block in a higher level of cache, in 
which case the message should be ignored at the shared cache.  Currently, 
there is no way to disambiguate these cases.

Thanks,

Jared

Excerpts From "Shadi Harb" <[email protected]>:
 [Simflex] RE: SimFlex Digest, Vol 1: "Shadi Harb" <[email protected]>
>Hi,
>
>Recently I hit with an error for my L3 cache simulation, I had no 
problem in
>compiling and starting the simulation, but after sometime, Simics went 
to
>safe mode and shows the following error
>
>> ////////////////////
>> <PiranhaCacheControllerImpl.cpp:576> (<undefined>[<undefined>]) 
>> {559584}- As       sertion failed: ((!(dirEntry->sharersCount() == 
0))) 
>> :  Failed:  PDEntry: 0x9d7b      c40 dir state: PiranhaDirState[D_M] 
>> #sharers: 1 sharersList: 8 Owner: -1 acount:        0 
>> MemoryMessage[Eviction (dirty)]: Addr:0xp:009d7bc40 Size:64 Core: 11
>> (*** Simics ***) Simics getting shaky, switching to 'safe' mode.
>> (*** Simics ***) Simics (main thread) received an abort signal, 
probably 
>> an asse       rtion.
>> simics>
>> 
>> ////////////////////
>Any help would be appreciable.
>
>Thanks
>Shadi


Jared Smolens ----------- Electrical and Computer Engineering
www.rabidpenguin.org ------------- Carnegie Mellon University
jsmolens AT ece.cmu.edu ------ HH A-313 ------ Pittsburgh, PA

Reply via email to