Commit a93cb055a23f3172c1e6a22ac1dc4f1c07929b08
Committed by
Linus Torvalds
1 parent
d6d861e3c9
Exists in
master
and in
20 other branches
[PATCH] paravirt: remove set pte atomic
Now that ptep_establish has a definition in PAE i386 3-level paging code, the only paging model which is insane enough to have multi-word hardware PTEs which are not efficient to set atomically, we can remove the ghost of set_pte_atomic from other architectures which falesly duplicated it, and remove all knowledge of it from the generic pgtable code. set_pte_atomic is now a private pte operator which is specific to i386 Signed-off-by: Zachary Amsden <zach@vmware.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Jeremy Fitzhardinge <jeremy@xensource.com> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Showing 4 changed files with 1 additions and 12 deletions Side-by-side Diff
include/asm-frv/pgtable.h
... | ... | @@ -176,8 +176,6 @@ |
176 | 176 | } while(0) |
177 | 177 | #define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval) |
178 | 178 | |
179 | -#define set_pte_atomic(pteptr, pteval) set_pte((pteptr), (pteval)) | |
180 | - | |
181 | 179 | /* |
182 | 180 | * pgd_offset() returns a (pgd_t *) |
183 | 181 | * pgd_index() is used get the offset into the pgd page's array of pgd_t's; |
include/asm-generic/pgtable.h
... | ... | @@ -15,19 +15,11 @@ |
15 | 15 | * Note: the old pte is known to not be writable, so we don't need to |
16 | 16 | * worry about dirty bits etc getting lost. |
17 | 17 | */ |
18 | -#ifndef __HAVE_ARCH_SET_PTE_ATOMIC | |
19 | 18 | #define ptep_establish(__vma, __address, __ptep, __entry) \ |
20 | 19 | do { \ |
21 | 20 | set_pte_at((__vma)->vm_mm, (__address), __ptep, __entry); \ |
22 | 21 | flush_tlb_page(__vma, __address); \ |
23 | 22 | } while (0) |
24 | -#else /* __HAVE_ARCH_SET_PTE_ATOMIC */ | |
25 | -#define ptep_establish(__vma, __address, __ptep, __entry) \ | |
26 | -do { \ | |
27 | - set_pte_atomic(__ptep, __entry); \ | |
28 | - flush_tlb_page(__vma, __address); \ | |
29 | -} while (0) | |
30 | -#endif /* __HAVE_ARCH_SET_PTE_ATOMIC */ | |
31 | 23 | #endif |
32 | 24 | |
33 | 25 | #ifndef __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS |
include/asm-i386/pgtable-3level.h
include/asm-m32r/pgtable-2level.h
... | ... | @@ -44,7 +44,7 @@ |
44 | 44 | */ |
45 | 45 | #define set_pte(pteptr, pteval) (*(pteptr) = pteval) |
46 | 46 | #define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval) |
47 | -#define set_pte_atomic(pteptr, pteval) set_pte(pteptr, pteval) | |
47 | + | |
48 | 48 | /* |
49 | 49 | * (pmds are folded into pgds so this doesnt get actually called, |
50 | 50 | * but the define is needed for a generic inline function.) |