summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/cacheflush.h
diff options
context:
space:
mode:
authorPauli Nieminen <suokkos@gmail.com>2010-04-01 16:45:01 +0400
committerDave Airlie <airlied@redhat.com>2010-04-06 05:36:06 +0400
commit4f64625412be120cef9e9b97e88c406ec2c78027 (patch)
treed26eb670482e2b3adfed309044294c2edb529942 /arch/x86/include/asm/cacheflush.h
parentbf62acdef89cb5b294668a6a747f7411dfe2ea7d (diff)
downloadlinux-4f64625412be120cef9e9b97e88c406ec2c78027.tar.xz
arch/x86: Add array variants for setting memory to wc caching.
Setting single memory pages at a time to wc takes a lot time in cache flush. To reduce number of cache flush set_pages_array_wc and set_memory_array_wc can be used to set multiple pages to WC with single cache flush. This improves allocation performance for wc cached pages in drm/ttm. CC: Suresh Siddha <suresh.b.siddha@intel.com> CC: Venkatesh Pallipadi <venkatesh.pallipadi@gmail.com> Signed-off-by: Pauli Nieminen <suokkos@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'arch/x86/include/asm/cacheflush.h')
-rw-r--r--arch/x86/include/asm/cacheflush.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/include/asm/cacheflush.h b/arch/x86/include/asm/cacheflush.h
index 634c40a739a6..d92d63a6286b 100644
--- a/arch/x86/include/asm/cacheflush.h
+++ b/arch/x86/include/asm/cacheflush.h
@@ -139,9 +139,11 @@ int set_memory_np(unsigned long addr, int numpages);
int set_memory_4k(unsigned long addr, int numpages);
int set_memory_array_uc(unsigned long *addr, int addrinarray);
+int set_memory_array_wc(unsigned long *addr, int addrinarray);
int set_memory_array_wb(unsigned long *addr, int addrinarray);
int set_pages_array_uc(struct page **pages, int addrinarray);
+int set_pages_array_wc(struct page **pages, int addrinarray);
int set_pages_array_wb(struct page **pages, int addrinarray);
/*