x86: work around PAGE_KERNEL_WC not getting WC in iomap_atomic_prot_pfn.
authorEric Anholt <eric@anholt.net>
Fri, 23 Jan 2009 22:14:21 +0000 (14:14 -0800)
committerIngo Molnar <mingo@elte.hu>
Mon, 26 Jan 2009 10:14:27 +0000 (11:14 +0100)
commitef5fa0ab24b87646c7bc98645acbb4b51fc2acd4
tree212ee811a6271eb77e887d4f63817c01606ae8a2
parente1b4d1143651fb3838be1117785b6e0386fa151f
x86: work around PAGE_KERNEL_WC not getting WC in iomap_atomic_prot_pfn.

In the absence of PAT, PAGE_KERNEL_WC ends up mapping to a memory type that
gets UC behavior even in the presence of a WC MTRR covering the area in
question.  By swapping to PAGE_KERNEL_UC_MINUS, we can get the actual
behavior the caller wanted (WC if you can manage it, UC otherwise).

This recovers the 40% performance improvement of using WC in the DRM
to upload vertex data.

Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/mm/iomap_32.c