Re: some questions about translation lookaside buffer

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

 



On Mon, Oct 17, 2011 at 07:36:11PM +0800, loody wrote:

> Dear all:
> I have some questions about local_flush_tlb_one.
> 1. what will happen if I use local_flush_tlb_one to flush a page that
> doesn't exist in translation lookaside buffer entries.
> 
> The index return by read_c0_index(), should be negative.
> but this function seems not handle the case that idx < 0.
> 
> 2. as I know, translation lookaside buffer is a place to keep record
> the memory mapping, it doesn't like cache have place to store the
> data.
>     a. If the entry is cacheable, what we only to do is flush the cache?
>     b. if the entry is uncached, there is nothing to do?
> if above b is correct, what will happen if we have an entry that is
> uncached and dirty?

If c0_index contains a value < 0 (or rather one with bit 31 set) then
there is nothing that needs to be flushed.

Note that MIPS D-cache (I-caches don't get written back so are not of
concern) are tagged with a physical address so cache handling is no
consideration for local_flush_tlb_one or any of the other TLB flush
functions.

  Ralf



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

  Powered by Linux