Hi Avais, I would suggest adding a new "clusivity" which is "non-inclusive" or whatever you want to call your new inclusion property. Then, you can modify the maintainClusivity function to act as you want it to.
Jason On Sat, Jul 15, 2017 at 3:18 AM Muhammad Avais <[email protected]> wrote: > Hi > Thanks for your response, > In 'gem5', i have declared cache 'mostly > exclusive' as recommended by you. I have also set "writeback_clean" > parameter to true of cache which is closer to CPU. > Now, i want that this 'mostly exclusive cache, > should act as 'Non exclusive' cache. > Non exclusive cache is cache which does not fill > on a miss from cache closer to CPU. Also, when some block is accessed from > Non exclusive cache, it does not invalidate the block. > I think in gem5, accessed block from Non > exclusive cache is invalidated in 'maintainClusivity()' function. > I think that by removing the 'maintainClusivity()' > function, i can make the 'mostly exclusive' cache as 'non exclusive' cache. > Is my thinking correct? > Also, maintainClusivity() function is used at two > places in cache.cc file. In 'access()' function and 'recvTimingResp()' > function. > I do not understand both functions completely. Can > anyone suggest, do i need to remove 'maintainClusivity()' function from > both places or not? > > Many Thanks > Avais > > > On Fri, Jul 14, 2017 at 11:37 PM, Jason Lowe-Power <[email protected]> > wrote: > >> Hello, >> >> The classic cache in gem5 (src/mem/cache and Cache()) is always >> non-inclusive (i.e., it is neither inclusive nor exclusive). You can set >> whether it is "mostly-inclusive" or "mostly-exclusive" as a parameter to >> the Cache SimObject. If the cache is "mostly-exclusive" it will not fill on >> a miss from a cache closer to the CPU (and the opposite for a >> mostly-inclusive). Thus, if you want a mostly-exclusive cache, the caches >> closer to the CPU should set the "writeback_clean" parameter to true (and >> to false if the further cache is mostly-inclusive). >> >> Jason >> >> On Fri, Jul 14, 2017 at 3:16 AM Muhammad Avais <[email protected]> >> wrote: >> >>> Dear all, >>> >>> Gem5 supports 'Mostly exclusive' cache. How can i >>> modify code to make it non exclusive cache. >>> >>> I think i can do it by removing maintainClusivity() function from >>> cache.cc file >>> >>> Can someone comment, how to do it >>> >>> >>> >>> Many Thanks >>> _______________________________________________ >>> gem5-users mailing list >>> [email protected] >>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >> >> >> _______________________________________________ >> gem5-users mailing list >> [email protected] >> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >> > > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
