[Top] [All Lists]

__flush_cache_all() miscellany

Subject: __flush_cache_all() miscellany
From: "Justin Carlson" <>
Date: 29 May 2002 09:50:52 -0700
Looking at the cache routines, I've noticed that there's been a
relatively recent introduction of a __flush_cache_all() routine. 
Looking at's cvs logs, I see this comment:

>Introduce __flush_cache_all() which flushes the cache no matter if
>this operation is necessary from the mm point of view or not.

Some questions:

Which caches does this apply to?  It looks like the current
implementations assume L1 only.

Would anyone have a problem with renaming this function?  To me, at
least, it's rather confusing to have all of:


defined, especially when the latter two mean something significantly
different from the former two.  I'd prefer calling the new one
{_}force_flush_l1_caches() or somesuch.

In a related note, one of the few places this routine is called is the
kgdb stub routines (in arch/mips/kernel/gdb-stub.c):

void set_async_breakpoint(unsigned int epc)
        int cpu = smp_processor_id();

        async_bp[cpu].addr = epc;
        async_bp[cpu].val  = *(unsigned *)epc;
        *(unsigned *)epc = BP;

Shouldn't that be a flush_icache_range() call anyways?


<Prev in Thread] Current Thread [Next in Thread>