[PATCH] ARC: mm: Update ARC_REG_*C_PTAG on each cacheline operation

Barbaros Tokaoglu btokaoglu at airspan.com
Tue Dec 14 04:25:52 PST 2021


On 12/14/21 11:36 AM, Vladimir Isaev wrote:
> On Dec 11, 2021 3:12 AM Barbaros Tokaoglu wrote:
>> This patch is for a problem we observed on an ARC770D and MMUv3
>> implementation.
>> The problem was although __flush_dcache_page() returns there were some
>> cacheline
>> entries that didn't flush to DDR. In our case updating ARC_REG_DC_PTAG
>> register
>> on each cacheline iteration with updated physical address helped flushing
>> cacheline entries to DDR.
> 
> Thank you for sending the patch, looks like it is really possible to have this problem
> for certain cache/MMU configurations for ARC700.
> 
> It will be great to have configuration which causes the bug in the commit message,
> so it will explain for future reader why this change is needed. i.e. something like
> 'For X kB cache with X ways we have tag LSB (cache_size/num_ways) lower than
> page offset (XX bits for X kB pages). So it is possible for PTAG to change even for
> single page loop.'
> 
> Thank you,
> Vladimir Isaev
> 
Sent as v2 with updated commit message to include the cache configuration.

Best Regards,
Barbaros


More information about the linux-snps-arc mailing list