[Gems-users] opal


Date: Fri, 21 Jan 2011 12:15:59 -0800 (PST)
From: Leontie Eugen <e_leontie@xxxxxxxxx>
Subject: [Gems-users] opal
This is a question about Opal. 
When a memory_inst_t ( load or store) is blocked because of a cache miss, it gets registered into the mshr waiting list and gets notified once the cache fill completes. 
That works great. But ...
What I am trying to do is intercept that Wakeup notification in a proxy object and only then notify the pending load/store. Just for debugging purposes the proxy object does absolutely nothing. Registers for as the waiter in the cache->Write, and if it is a miss, when it gets woken up, it further WakesUp the original store instruction that generated the cache->Write. This works well for several hundred instructions , cache misses, hits , etc - but then breaks with a segfault. It appears that the original store ( the proxy keeps a pointer to the original store) gets overwritten by some other instruction ( my store is no longer a store , but a branch ... ).

Simply , I want to keep the store in the CACHE_MISS state for a extra checks (none at the moment but this is how I thought to accomplish that ).
I can provide more details if this is too dry ... but , any help is much appreciated. 

Eugen




[← Prev in Thread] Current Thread [Next in Thread→]
  • [Gems-users] opal, Leontie Eugen <=