diff options
author | Pauli Nieminen <suokkos@gmail.com> | 2010-04-01 08:45:01 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-04-05 21:36:06 -0400 |
commit | 4f64625412be120cef9e9b97e88c406ec2c78027 (patch) | |
tree | d26eb670482e2b3adfed309044294c2edb529942 /arch/x86/include/asm/cacheflush.h | |
parent | bf62acdef89cb5b294668a6a747f7411dfe2ea7d (diff) |
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.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/include/asm/cacheflush.h b/arch/x86/include/asm/cacheflush.h index 634c40a739a..d92d63a6286 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); | |||
139 | int set_memory_4k(unsigned long addr, int numpages); | 139 | int set_memory_4k(unsigned long addr, int numpages); |
140 | 140 | ||
141 | int set_memory_array_uc(unsigned long *addr, int addrinarray); | 141 | int set_memory_array_uc(unsigned long *addr, int addrinarray); |
142 | int set_memory_array_wc(unsigned long *addr, int addrinarray); | ||
142 | int set_memory_array_wb(unsigned long *addr, int addrinarray); | 143 | int set_memory_array_wb(unsigned long *addr, int addrinarray); |
143 | 144 | ||
144 | int set_pages_array_uc(struct page **pages, int addrinarray); | 145 | int set_pages_array_uc(struct page **pages, int addrinarray); |
146 | int set_pages_array_wc(struct page **pages, int addrinarray); | ||
145 | int set_pages_array_wb(struct page **pages, int addrinarray); | 147 | int set_pages_array_wb(struct page **pages, int addrinarray); |
146 | 148 | ||
147 | /* | 149 | /* |