sh: Improve performance of SH4 versions of copy/clear_user_highpage
authorStuart Menefy <stuart.menefy@st.com>
Tue, 27 Oct 2009 15:14:06 +0000 (15:14 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Tue, 24 Nov 2009 08:13:35 +0000 (17:13 +0900)
commit39ac11c1607f1d566e7cf885acd403fa4f07f8a2
treea47e6bd8526742f9dfdc177253654e2cac5b829f
parent49fb2cd2571e0134e5a12c5abab227696e4940c7
sh: Improve performance of SH4 versions of copy/clear_user_highpage

The previous implementation of clear_user_highpage and copy_user_highpage
checked to see if there was a D-cache aliasing issue between the user
and kernel mappings of a page, but if there was they always did a
flush with writeback on the dirtied kernel alias.

However as we now have the ability to map a page into kernel space
with the same cache colour as the user mapping, there is no need to
write back this data.

Currently we also invalidate the kernel alias as a precaution, however
I'm not sure if this is actually required.

Also correct the definition of FIX_CMAP_END so that the mappings created
by kmap_coherent() are actually at the correct colour.

Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/include/asm/fixmap.h
arch/sh/mm/cache.c