diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2008-01-30 07:34:07 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:34:07 -0500 |
commit | d7c8f21a8cad0228c7c5ce2bb6dbd95d1ee49d13 (patch) | |
tree | d1e305bec62022a0bec82a3499a372c2c7c40583 /include | |
parent | d1028a154c65d7fadd1b2d0276c077014d401ec7 (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.h | 6 | ||||
-rw-r--r-- | include/asm-x86/cacheflush.h | 1 |
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 | ||
27 | void global_flush_tlb(void); | ||
28 | int __deprecated_for_modules change_page_attr(struct page *page, int numpages, | 27 | int __deprecated_for_modules change_page_attr(struct page *page, int numpages, |
29 | pgprot_t prot); | 28 | pgprot_t prot); |
30 | 29 | ||