sh: flush_cache_range() cleanup and optimizations.
authorPaul Mundt <lethal@linux-sh.org>
Wed, 27 Sep 2006 02:29:55 +0000 (11:29 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Wed, 27 Sep 2006 02:29:55 +0000 (11:29 +0900)
commita252710fc5b63b24934905ca47ecf661702d7f00
tree7fbaddfb977095879f42c68a2a2f115d0e2314ee
parente4e3b5ccd77226c9c4dbb0737106b868dfc182d9
sh: flush_cache_range() cleanup and optimizations.

flush_cache_range() wasn't page aligning the end of the range,
we can't assume that it will always be page aligned, and we
ended up getting unaligned faults in some rare call paths.

Additionally, we add a small optimization to just purge the
dcache entirely if the range is large enough that the page
table walking will take longer. We use an arbitrary value of
64 pages for the large range size, as per sh64.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/mm/cache-sh4.c