• Russell King's avatar
    ARM: I-cache: avoid flushing in flush_cache_mm() · ea201dbb
    Russell King authored
    flush_cache_mm() is called in two cases:
    1. when a process exits, just before the page tables are torn down.
       We can allow the stale lines to evict themselves over time without
       causing any harm.
    
    2. when a process forks, and we've allocated a new ASID.
       The instruction cache issues are dealt with as pages are brought
       into the new process address space.  Flushing the I-cache here is
       therefore unnecessary.
    
    However, we must keep the VIPT aliasing D-cache flush to ensure that
    any dirty cache lines are not written back after the pages have been
    reallocated for some other use - which would result in corruption.
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    ea201dbb
flush.c 6.66 KB