[RFC PATCH] ARM: Allow lazy cache flushing via PG_arch_1 for highmem pages
Nicolas Pitre
nico at fluxnic.net
Tue Jul 20 09:10:59 EDT 2010
On Tue, 20 Jul 2010, Catalin Marinas wrote:
> Current flush_dcache_page() implementation does not allow lazy cache
> flushing for highmem pages (introduced by commit d73cd42) on the
> assumption that the temporary kmap mapping would disappear. A subsequent
> commit (7e5a69e) allows __flush_dcache_page() to handle highmem pages so
> we can allow lazy cache flushing even for highmem pages.
Actually this has been in the back of my mind for a while. The
reasoning in d73cd42 is flawed, irrespective of the changes in 7e5a69e.
Even without the later, it should have been possible to lazily flush the
himem pages because they get flushed anyway the moment their virtual
mapping goes away through flush_cache_kmaps(). What the second commit
is doing is making highmem usable on a VIPT system while it was totally
unacounted for and broken before.
Nicolas
> Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
> Cc: Nicolas Pitre <nico at fluxnic.net>
Acked-by: Nicolas Pitre <nico at linaro.org>
Nicolas
More information about the linux-arm-kernel
mailing list