Re: [Gems-users] invalidating a cache block


Date: Wed, 09 Jan 2008 07:20:15 +0100
From: Mladen Nikitovic <mladen@xxxxxx>
Subject: Re: [Gems-users] invalidating a cache block
The result I would like to achieve is the consequence from (temporarily) disabling the power lines of the cache, which would mean that all data would be lost. To avoid any inconsistency I need to invalidate all entries and write back any data that is modified (or maybe also owner of shared data?) before shutting down.

Couldn't the same processor that is being disabled do the necessary actions just before the shutdown? If yes, then the question is how to trigger the writebacks. My approach was to trigger the protocol actions somehow, but I don't know how to actually do it nor do I know which function does this.

Regards,
Mladen

Dan Gibson wrote:
You could 'force' another processor to issue stores to all the blocks in the cache you need to invalidate. Of course, I'm not sure if this would be applicable, since I don't know why you want the blocks invalidated.

Mladen Nikitovic wrote:
Sorry, I forgot to actually specify my question :)

Since I don't belive the stxa instruction will fully generate the desired events I wonder how I can achieve that in ruby. How can I trigger the protocol to do the invalidation and possible writebacks for me?

Regards,
/Mladen

Mladen Nikitovic wrote:
Hi,

I would like to go through a cache and invalidate each entry block-by-block. I would like to do it in a way such that necessary events within ruby (replacements if needed) are triggered.

I found a code in opensolaris that is supposed to flush the cache (see below) but I suppose that the instruction stxa will not trigger the expected events in GEMS?

#define CH_CACHE_FLUSHALL(arg1, arg2, tmp1)

  sub arg1,arg2,tmp1;
1:
  stxa %g0, [tmp1]ASI_DC_TAG;
  membar #sync;
  cmp %g0, tmp1;
  bne,pt %icc, 1b;
  sub tmp1, arg2, tmp1;


I'm using the MOESI_CMP_directory protocol.

Thanks.

Regards,
Mladen




_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx <mailto:Gems-users@xxxxxxxxxxx>
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx <mailto:Gems-users@xxxxxxxxxxx>
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.



--
http://www.cs.wisc.edu/~gibson <http://www.cs.wisc.edu/%7Egibson> [esc]:wq!
------------------------------------------------------------------------

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.


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