The patch titled Generic ioremap_page_range: flush_cache_vmap has been removed from the -mm tree. Its filename is generic-ioremap_page_range-flush_cache_vmap.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ Subject: Generic ioremap_page_range: flush_cache_vmap From: Haavard Skinnemoen <hskinnemoen@xxxxxxxxx> The existing implementation of ioremap_page_range(), which was taken from i386, does this: flush_cache_all(); /* modify page tables */ flush_tlb_all(); I think this is a bit defensive, so this patch changes the generic implementation to do: /* modify page tables */ flush_cache_vmap(start, end); instead, which is similar to what vmalloc() does. This should still be correct because we never modify existing PTEs. According to James Bottomley: The problem the flush_tlb_all() is trying to solve is to avoid stale tlb entries in the ioremap area. We're just being conservative by flushing on both map and unmap. Technically what vmalloc/vfree does (only flush the tlb on unmap) is just fine because it means that the only tlb entries in the remap area must belong to in-use mappings. Signed-off-by: Haavard Skinnemoen <hskinnemoen@xxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Mikael Starvik <starvik@xxxxxxxx> Cc: Andi Kleen <ak@xxxxxxx> Cc: <linux-m32r@xxxxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Kyle McMartin <kyle@xxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Paul Mundt <lethal@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- lib/ioremap.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff -puN lib/ioremap.c~generic-ioremap_page_range-flush_cache_vmap lib/ioremap.c --- a/lib/ioremap.c~generic-ioremap_page_range-flush_cache_vmap +++ a/lib/ioremap.c @@ -76,8 +76,6 @@ int ioremap_page_range(unsigned long add BUG_ON(addr >= end); - flush_cache_all(); - start = addr; phys_addr -= addr; pgd = pgd_offset_k(addr); @@ -88,7 +86,7 @@ int ioremap_page_range(unsigned long add break; } while (pgd++, addr = next, addr != end); - flush_tlb_all(); + flush_cache_vmap(start, end); return err; } _ Patches currently in -mm which might be from hskinnemoen@xxxxxxxxx are origin.patch generic-ioremap_page_range-mips-conversion.patch generic-ioremap_page_range-parisc-conversion.patch generic-ioremap_page_range-s390-conversion.patch generic-ioremap_page_range-sh-conversion.patch generic-ioremap_page_range-sh64-conversion.patch avr32-implement-kernel_execve.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html