Looking at the cache routines, I've noticed that there's been a relatively recent introduction of a __flush_cache_all() routine. Looking at oss.sgi.com'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: flush_cache_all() _flush_cache_all() __flush_cache_all() ___flush_cache_all() 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; __flush_cache_all(); } Shouldn't that be a flush_icache_range() call anyways? Thanks, Justin