From: Hugh Dickins Most architectures (like i386) do nothing in flush_dcache_page, or don't scan i_mmap in flush_dcache_page, so don't need flush_dcache_mmap_lock to do anything: define it and flush_dcache_mmap_unlock away. Noticed arm26, cris, h8300 still defining flush_page_to_ram: delete it again. --- 25-akpm/include/asm-alpha/cacheflush.h | 2 ++ 25-akpm/include/asm-arm26/cacheflush.h | 3 ++- 25-akpm/include/asm-cris/cacheflush.h | 3 ++- 25-akpm/include/asm-h8300/cacheflush.h | 3 ++- 25-akpm/include/asm-ia64/cacheflush.h | 3 +++ 25-akpm/include/asm-m68k/cacheflush.h | 2 ++ 25-akpm/include/asm-m68knommu/cacheflush.h | 2 ++ 25-akpm/include/asm-mips/cacheflush.h | 3 +++ 25-akpm/include/asm-ppc/cacheflush.h | 3 +++ 25-akpm/include/asm-ppc64/cacheflush.h | 3 +++ 25-akpm/include/asm-s390/cacheflush.h | 2 ++ 25-akpm/include/asm-sh/cpu-sh2/cacheflush.h | 2 ++ 25-akpm/include/asm-sh/cpu-sh3/cacheflush.h | 2 ++ 25-akpm/include/asm-sh/cpu-sh4/cacheflush.h | 4 ++++ 25-akpm/include/asm-sparc/cacheflush.h | 2 ++ 25-akpm/include/asm-sparc64/cacheflush.h | 2 ++ 25-akpm/include/asm-v850/cacheflush.h | 2 ++ 25-akpm/include/asm-x86_64/cacheflush.h | 2 ++ 18 files changed, 42 insertions(+), 3 deletions(-) diff -puN include/asm-alpha/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock include/asm-alpha/cacheflush.h --- 25/include/asm-alpha/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock Tue May 4 17:53:39 2004 +++ 25-akpm/include/asm-alpha/cacheflush.h Tue May 4 17:53:39 2004 @@ -10,6 +10,8 @@ #define flush_cache_range(vma, start, end) do { } while (0) #define flush_cache_page(vma, vmaddr) do { } while (0) #define flush_dcache_page(page) do { } while (0) +#define flush_dcache_mmap_lock(mapping) do { } while (0) +#define flush_dcache_mmap_unlock(mapping) do { } while (0) #define flush_cache_vmap(start, end) do { } while (0) #define flush_cache_vunmap(start, end) do { } while (0) diff -puN include/asm-arm26/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock include/asm-arm26/cacheflush.h --- 25/include/asm-arm26/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock Tue May 4 17:53:39 2004 +++ 25-akpm/include/asm-arm26/cacheflush.h Tue May 4 17:53:39 2004 @@ -24,7 +24,6 @@ #define flush_cache_mm(mm) do { } while (0) #define flush_cache_range(vma,start,end) do { } while (0) #define flush_cache_page(vma,vmaddr) do { } while (0) -#define flush_page_to_ram(page) do { } while (0) #define flush_cache_vmap(start, end) do { } while (0) #define flush_cache_vunmap(start, end) do { } while (0) @@ -32,6 +31,8 @@ #define clean_dcache_range(start,end) do { } while (0) #define flush_dcache_range(start,end) do { } while (0) #define flush_dcache_page(page) do { } while (0) +#define flush_dcache_mmap_lock(mapping) do { } while (0) +#define flush_dcache_mmap_unlock(mapping) do { } while (0) #define clean_dcache_entry(_s) do { } while (0) #define clean_cache_entry(_start) do { } while (0) diff -puN include/asm-cris/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock include/asm-cris/cacheflush.h --- 25/include/asm-cris/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock Tue May 4 17:53:39 2004 +++ 25-akpm/include/asm-cris/cacheflush.h Tue May 4 17:53:39 2004 @@ -11,8 +11,9 @@ #define flush_cache_mm(mm) do { } while (0) #define flush_cache_range(vma, start, end) do { } while (0) #define flush_cache_page(vma, vmaddr) do { } while (0) -#define flush_page_to_ram(page) do { } while (0) #define flush_dcache_page(page) do { } while (0) +#define flush_dcache_mmap_lock(mapping) do { } while (0) +#define flush_dcache_mmap_unlock(mapping) do { } while (0) #define flush_icache_range(start, end) do { } while (0) #define flush_icache_page(vma,pg) do { } while (0) #define flush_icache_user_range(vma,pg,adr,len) do { } while (0) diff -puN include/asm-h8300/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock include/asm-h8300/cacheflush.h --- 25/include/asm-h8300/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock Tue May 4 17:53:39 2004 +++ 25-akpm/include/asm-h8300/cacheflush.h Tue May 4 17:53:39 2004 @@ -14,8 +14,9 @@ #define flush_cache_mm(mm) #define flush_cache_range(vma,a,b) #define flush_cache_page(vma,p) -#define flush_page_to_ram(page) #define flush_dcache_page(page) +#define flush_dcache_mmap_lock(mapping) +#define flush_dcache_mmap_unlock(mapping) #define flush_icache() #define flush_icache_page(vma,page) #define flush_icache_range(start,len) diff -puN include/asm-ia64/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock include/asm-ia64/cacheflush.h --- 25/include/asm-ia64/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock Tue May 4 17:53:39 2004 +++ 25-akpm/include/asm-ia64/cacheflush.h Tue May 4 17:53:39 2004 @@ -29,6 +29,9 @@ do { \ clear_bit(PG_arch_1, &(page)->flags); \ } while (0) +#define flush_dcache_mmap_lock(mapping) do { } while (0) +#define flush_dcache_mmap_unlock(mapping) do { } while (0) + extern void flush_icache_range (unsigned long start, unsigned long end); #define flush_icache_user_range(vma, page, user_addr, len) \ diff -puN include/asm-m68k/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock include/asm-m68k/cacheflush.h --- 25/include/asm-m68k/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock Tue May 4 17:53:39 2004 +++ 25-akpm/include/asm-m68k/cacheflush.h Tue May 4 17:53:39 2004 @@ -128,6 +128,8 @@ static inline void __flush_page_to_ram(v } #define flush_dcache_page(page) __flush_page_to_ram(page_address(page)) +#define flush_dcache_mmap_lock(mapping) do { } while (0) +#define flush_dcache_mmap_unlock(mapping) do { } while (0) #define flush_icache_page(vma, page) __flush_page_to_ram(page_address(page)) #define flush_icache_user_range(vma,pg,adr,len) do { } while (0) #define copy_to_user_page(vma, page, vaddr, dst, src, len) \ diff -puN include/asm-m68knommu/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock include/asm-m68knommu/cacheflush.h --- 25/include/asm-m68knommu/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock Tue May 4 17:53:39 2004 +++ 25-akpm/include/asm-m68knommu/cacheflush.h Tue May 4 17:53:39 2004 @@ -12,6 +12,8 @@ #define flush_cache_page(vma, vmaddr) do { } while (0) #define flush_dcache_range(start,len) do { } while (0) #define flush_dcache_page(page) do { } while (0) +#define flush_dcache_mmap_lock(mapping) do { } while (0) +#define flush_dcache_mmap_unlock(mapping) do { } while (0) #define flush_icache_range(start,len) __flush_cache_all() #define flush_icache_page(vma,pg) do { } while (0) #define flush_icache_user_range(vma,pg,adr,len) do { } while (0) diff -puN include/asm-mips/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock include/asm-mips/cacheflush.h --- 25/include/asm-mips/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock Tue May 4 17:53:39 2004 +++ 25-akpm/include/asm-mips/cacheflush.h Tue May 4 17:53:39 2004 @@ -45,6 +45,9 @@ static inline void flush_dcache_page(str } +#define flush_dcache_mmap_lock(mapping) do { } while (0) +#define flush_dcache_mmap_unlock(mapping) do { } while (0) + extern void (*flush_icache_page)(struct vm_area_struct *vma, struct page *page); extern void (*flush_icache_range)(unsigned long start, unsigned long end); diff -puN include/asm-ppc64/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock include/asm-ppc64/cacheflush.h --- 25/include/asm-ppc64/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock Tue May 4 17:53:39 2004 +++ 25-akpm/include/asm-ppc64/cacheflush.h Tue May 4 17:53:39 2004 @@ -18,6 +18,9 @@ #define flush_cache_vunmap(start, end) do { } while (0) extern void flush_dcache_page(struct page *page); +#define flush_dcache_mmap_lock(mapping) do { } while (0) +#define flush_dcache_mmap_unlock(mapping) do { } while (0) + extern void __flush_icache_range(unsigned long, unsigned long); extern void flush_icache_user_range(struct vm_area_struct *vma, struct page *page, unsigned long addr, diff -puN include/asm-ppc/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock include/asm-ppc/cacheflush.h --- 25/include/asm-ppc/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock Tue May 4 17:53:39 2004 +++ 25-akpm/include/asm-ppc/cacheflush.h Tue May 4 17:53:39 2004 @@ -28,6 +28,9 @@ #define flush_cache_vunmap(start, end) do { } while (0) extern void flush_dcache_page(struct page *page); +#define flush_dcache_mmap_lock(mapping) do { } while (0) +#define flush_dcache_mmap_unlock(mapping) do { } while (0) + extern void flush_icache_range(unsigned long, unsigned long); extern void flush_icache_user_range(struct vm_area_struct *vma, struct page *page, unsigned long addr, int len); diff -puN include/asm-s390/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock include/asm-s390/cacheflush.h --- 25/include/asm-s390/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock Tue May 4 17:53:39 2004 +++ 25-akpm/include/asm-s390/cacheflush.h Tue May 4 17:53:39 2004 @@ -10,6 +10,8 @@ #define flush_cache_range(vma, start, end) do { } while (0) #define flush_cache_page(vma, vmaddr) do { } while (0) #define flush_dcache_page(page) do { } while (0) +#define flush_dcache_mmap_lock(mapping) do { } while (0) +#define flush_dcache_mmap_unlock(mapping) do { } while (0) #define flush_icache_range(start, end) do { } while (0) #define flush_icache_page(vma,pg) do { } while (0) #define flush_icache_user_range(vma,pg,adr,len) do { } while (0) diff -puN include/asm-sh/cpu-sh2/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock include/asm-sh/cpu-sh2/cacheflush.h --- 25/include/asm-sh/cpu-sh2/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock Tue May 4 17:53:39 2004 +++ 25-akpm/include/asm-sh/cpu-sh2/cacheflush.h Tue May 4 17:53:39 2004 @@ -30,6 +30,8 @@ #define flush_cache_range(vma, start, end) do { } while (0) #define flush_cache_page(vma, vmaddr) do { } while (0) #define flush_dcache_page(page) do { } while (0) +#define flush_dcache_mmap_lock(mapping) do { } while (0) +#define flush_dcache_mmap_unlock(mapping) do { } while (0) #define flush_icache_range(start, end) do { } while (0) #define flush_icache_page(vma,pg) do { } while (0) #define flush_icache_user_range(vma,pg,adr,len) do { } while (0) diff -puN include/asm-sh/cpu-sh3/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock include/asm-sh/cpu-sh3/cacheflush.h --- 25/include/asm-sh/cpu-sh3/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock Tue May 4 17:53:39 2004 +++ 25-akpm/include/asm-sh/cpu-sh3/cacheflush.h Tue May 4 17:53:39 2004 @@ -30,6 +30,8 @@ #define flush_cache_range(vma, start, end) do { } while (0) #define flush_cache_page(vma, vmaddr) do { } while (0) #define flush_dcache_page(page) do { } while (0) +#define flush_dcache_mmap_lock(mapping) do { } while (0) +#define flush_dcache_mmap_unlock(mapping) do { } while (0) #define flush_icache_range(start, end) do { } while (0) #define flush_icache_page(vma,pg) do { } while (0) #define flush_icache_user_range(vma,pg,adr,len) do { } while (0) diff -puN include/asm-sh/cpu-sh4/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock include/asm-sh/cpu-sh4/cacheflush.h --- 25/include/asm-sh/cpu-sh4/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock Tue May 4 17:53:39 2004 +++ 25-akpm/include/asm-sh/cpu-sh4/cacheflush.h Tue May 4 17:53:39 2004 @@ -30,6 +30,10 @@ extern void flush_cache_range(struct vm_ unsigned long end); extern void flush_cache_page(struct vm_area_struct *vma, unsigned long addr); extern void flush_dcache_page(struct page *pg); + +#define flush_dcache_mmap_lock(mapping) do { } while (0) +#define flush_dcache_mmap_unlock(mapping) do { } while (0) + extern void flush_icache_range(unsigned long start, unsigned long end); extern void flush_cache_sigtramp(unsigned long addr); extern void flush_icache_user_range(struct vm_area_struct *vma, diff -puN include/asm-sparc64/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock include/asm-sparc64/cacheflush.h --- 25/include/asm-sparc64/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock Tue May 4 17:53:39 2004 +++ 25-akpm/include/asm-sparc64/cacheflush.h Tue May 4 17:53:39 2004 @@ -42,6 +42,8 @@ extern void __flush_dcache_range(unsigne memcpy(dst, src, len) extern void flush_dcache_page(struct page *page); +#define flush_dcache_mmap_lock(mapping) do { } while (0) +#define flush_dcache_mmap_unlock(mapping) do { } while (0) #define flush_cache_vmap(start, end) do { } while (0) #define flush_cache_vunmap(start, end) do { } while (0) diff -puN include/asm-sparc/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock include/asm-sparc/cacheflush.h --- 25/include/asm-sparc/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock Tue May 4 17:53:39 2004 +++ 25-akpm/include/asm-sparc/cacheflush.h Tue May 4 17:53:39 2004 @@ -70,6 +70,8 @@ BTFIXUPDEF_CALL(void, flush_sig_insns, s extern void sparc_flush_page_to_ram(struct page *page); #define flush_dcache_page(page) sparc_flush_page_to_ram(page) +#define flush_dcache_mmap_lock(mapping) do { } while (0) +#define flush_dcache_mmap_unlock(mapping) do { } while (0) #define flush_cache_vmap(start, end) flush_cache_all() #define flush_cache_vunmap(start, end) flush_cache_all() diff -puN include/asm-v850/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock include/asm-v850/cacheflush.h --- 25/include/asm-v850/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock Tue May 4 17:53:39 2004 +++ 25-akpm/include/asm-v850/cacheflush.h Tue May 4 17:53:39 2004 @@ -27,6 +27,8 @@ #define flush_cache_range(vma, start, end) ((void)0) #define flush_cache_page(vma, vmaddr) ((void)0) #define flush_dcache_page(page) ((void)0) +#define flush_dcache_mmap_lock(mapping) ((void)0) +#define flush_dcache_mmap_unlock(mapping) ((void)0) #define flush_cache_vmap(start, end) ((void)0) #define flush_cache_vunmap(start, end) ((void)0) diff -puN include/asm-x86_64/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock include/asm-x86_64/cacheflush.h --- 25/include/asm-x86_64/cacheflush.h~rmap-23-empty-flush_dcache_mmap_lock Tue May 4 17:53:39 2004 +++ 25-akpm/include/asm-x86_64/cacheflush.h Tue May 4 17:53:39 2004 @@ -10,6 +10,8 @@ #define flush_cache_range(vma, start, end) do { } while (0) #define flush_cache_page(vma, vmaddr) do { } while (0) #define flush_dcache_page(page) do { } while (0) +#define flush_dcache_mmap_lock(mapping) do { } while (0) +#define flush_dcache_mmap_unlock(mapping) do { } while (0) #define flush_icache_range(start, end) do { } while (0) #define flush_icache_page(vma,pg) do { } while (0) #define flush_icache_user_range(vma,pg,adr,len) do { } while (0) _