On Fri, Mar 19, 2010 at 02:41:17PM +0000, Catalin Marinas wrote: > On Thu, 2010-03-18 at 13:20 +0000, Nicolas Pitre wrote: > > The only way a highmem page can be unmapped is through kunmap_atomic() > > where an explicit __cpuc_flush_dcache_area() is performed, or through > > flush_all_zero_pkmaps() where flush_cache_kmaps() translates into > > flush_cache_all(). > > The thing that I couldn't fully understand with the kunmap_atomic() > function is that there is a path (when kvaddr < FIXADDR_START) where no > cache flushing occurs. Can this not happen? kunmap interfaces are not for cache flushing; the cache flushing is only there to ensure consistency when unmapping a mapping on VIVT CPUs. If VIVT CPUs could do writebacks without a valid mapping in place, then the cache flush for highmem pages would not be required. -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html