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

Reply via email to