aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2008-01-30 07:34:07 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:34:07 -0500
commitd7c8f21a8cad0228c7c5ce2bb6dbd95d1ee49d13 (patch)
treed1e305bec62022a0bec82a3499a372c2c7c40583 /include
parentd1028a154c65d7fadd1b2d0276c077014d401ec7 (diff)
x86: cpa: move flush to cpa
The set_memory_* and set_pages_* family of API's currently requires the callers to do a global tlb flush after the function call; forgetting this is a very nasty deathtrap. This patch moves the global tlb flush into each of the callers Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include')
-rw-r--r--include/asm-x86/agp.h6
-rw-r--r--include/asm-x86/cacheflush.h1
2 files changed, 1 insertions, 6 deletions
diff --git a/include/asm-x86/agp.h b/include/asm-x86/agp.h
index f6df72561832..0c309b9a5217 100644
--- a/include/asm-x86/agp.h
+++ b/include/asm-x86/agp.h
@@ -12,13 +12,9 @@
12 * page. This avoids data corruption on some CPUs. 12 * page. This avoids data corruption on some CPUs.
13 */ 13 */
14 14
15/*
16 * Caller's responsibility to call global_flush_tlb() for performance
17 * reasons
18 */
19#define map_page_into_agp(page) set_pages_uc(page, 1) 15#define map_page_into_agp(page) set_pages_uc(page, 1)
20#define unmap_page_from_agp(page) set_pages_wb(page, 1) 16#define unmap_page_from_agp(page) set_pages_wb(page, 1)
21#define flush_agp_mappings() global_flush_tlb() 17#define flush_agp_mappings() do { } while (0)
22 18
23/* 19/*
24 * Could use CLFLUSH here if the cpu supports it. But then it would 20 * Could use CLFLUSH here if the cpu supports it. But then it would
diff --git a/include/asm-x86/cacheflush.h b/include/asm-x86/cacheflush.h
index d15ff359d3e3..157da0206ccc 100644
--- a/include/asm-x86/cacheflush.h
+++ b/include/asm-x86/cacheflush.h
@@ -24,7 +24,6 @@
24#define copy_from_user_page(vma, page, vaddr, dst, src, len) \ 24#define copy_from_user_page(vma, page, vaddr, dst, src, len) \
25 memcpy(dst, src, len) 25 memcpy(dst, src, len)
26 26
27void global_flush_tlb(void);
28int __deprecated_for_modules change_page_attr(struct page *page, int numpages, 27int __deprecated_for_modules change_page_attr(struct page *page, int numpages,
29 pgprot_t prot); 28 pgprot_t prot);
30 29