diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2006-12-12 12:14:57 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-13 12:27:08 -0500 |
commit | ec8c0446b6e2b67b5c8813eb517f4bf00efa99a9 (patch) | |
tree | e7c12d7c486c958a5e38888b41cfcd6a558f1aff /include/asm-sparc | |
parent | bcd022801ee514e28c32837f0b3ce18c775f1a7b (diff) |
[PATCH] Optimize D-cache alias handling on fork
Virtually index, physically tagged cache architectures can get away
without cache flushing when forking. This patch adds a new cache
flushing function flush_cache_dup_mm(struct mm_struct *) which for the
moment I've implemented to do the same thing on all architectures
except on MIPS where it's a no-op.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-sparc')
-rw-r--r-- | include/asm-sparc/cacheflush.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/asm-sparc/cacheflush.h b/include/asm-sparc/cacheflush.h index fc632f811cd8..68ac10910271 100644 --- a/include/asm-sparc/cacheflush.h +++ b/include/asm-sparc/cacheflush.h | |||
@@ -48,6 +48,7 @@ BTFIXUPDEF_CALL(void, flush_cache_page, struct vm_area_struct *, unsigned long) | |||
48 | 48 | ||
49 | #define flush_cache_all() BTFIXUP_CALL(flush_cache_all)() | 49 | #define flush_cache_all() BTFIXUP_CALL(flush_cache_all)() |
50 | #define flush_cache_mm(mm) BTFIXUP_CALL(flush_cache_mm)(mm) | 50 | #define flush_cache_mm(mm) BTFIXUP_CALL(flush_cache_mm)(mm) |
51 | #define flush_cache_dup_mm(mm) BTFIXUP_CALL(flush_cache_mm)(mm) | ||
51 | #define flush_cache_range(vma,start,end) BTFIXUP_CALL(flush_cache_range)(vma,start,end) | 52 | #define flush_cache_range(vma,start,end) BTFIXUP_CALL(flush_cache_range)(vma,start,end) |
52 | #define flush_cache_page(vma,addr,pfn) BTFIXUP_CALL(flush_cache_page)(vma,addr) | 53 | #define flush_cache_page(vma,addr,pfn) BTFIXUP_CALL(flush_cache_page)(vma,addr) |
53 | #define flush_icache_range(start, end) do { } while (0) | 54 | #define flush_icache_range(start, end) do { } while (0) |