Re: Broadcom Swarm support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 27 Jun 2009 16:48:11 +0100, Ralf Baechle <ralf@xxxxxxxxxxxxxx> wrote:
> On Sat, Jun 27, 2009 at 10:59:33PM +0900, Atsushi Nemoto wrote:
> 
> > A bit off-topic question.  The update_mmu_cache (or __update_cache)
> > itself does not flush icache.  When icache is invalidated (especially
> > VIPT case) ?
> 
> Not off-topic at all in this thread.
> 
> The I-cache for page just being loaded is clean so no flushing needed.  It
> is clean because when the page has been unmapped it was flushed or because
> the CPU switched to a fresh ASID.

Then, flush_cache_range or flush_cache_page should be called then the
page was unmmapped, right?  How about flush_cache_mm?  It does not
flush icache currently.

And how about kernel __init code pages?  These pages are just freed on
free_initmem.  Also how about code pages used by a module which is to
be unloaded from kernel?

> The reason for this bug is that when data is being shoveled around by the
> processor (as opposed to DMA) as on PIO block devices it'll end up sitting
> in the D-cache so I-cache refills will grab stale data from S-cache or
> memory.

Yes, I suppose so on this swarm case, but I'm just thinking of other
case breaking icache coherency...

---
Atsushi Nemoto


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux