diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2006-12-12 18:14:57 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-13 18:27:08 +0100 |
commit | ec8c0446b6e2b67b5c8813eb517f4bf00efa99a9 (patch) | |
tree | e7c12d7c486c958a5e38888b41cfcd6a558f1aff /include/asm-sh/cpu-sh2 | |
parent | [PATCH] MIPS: Fix COW D-cache aliasing on fork (diff) | |
download | linux-ec8c0446b6e2b67b5c8813eb517f4bf00efa99a9.tar.xz linux-ec8c0446b6e2b67b5c8813eb517f4bf00efa99a9.zip |
[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-sh/cpu-sh2')
-rw-r--r-- | include/asm-sh/cpu-sh2/cacheflush.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/asm-sh/cpu-sh2/cacheflush.h b/include/asm-sh/cpu-sh2/cacheflush.h index f556fa80ea97..2979efb26de3 100644 --- a/include/asm-sh/cpu-sh2/cacheflush.h +++ b/include/asm-sh/cpu-sh2/cacheflush.h @@ -15,6 +15,7 @@ * * - flush_cache_all() flushes entire cache * - flush_cache_mm(mm) flushes the specified mm context's cache lines + * - flush_cache_dup mm(mm) handles cache flushing when forking * - flush_cache_page(mm, vmaddr, pfn) flushes a single page * - flush_cache_range(vma, start, end) flushes a range of pages * @@ -27,6 +28,7 @@ */ #define flush_cache_all() do { } while (0) #define flush_cache_mm(mm) do { } while (0) +#define flush_cache_dup_mm(mm) do { } while (0) #define flush_cache_range(vma, start, end) do { } while (0) #define flush_cache_page(vma, vmaddr, pfn) do { } while (0) #define flush_dcache_page(page) do { } while (0) |