The patch titled paravirt: remove set pte atomic has been added to the -mm tree. Its filename is paravirt-remove-set-pte-atomic.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: paravirt: remove set pte atomic From: Zachary Amsden <zach@xxxxxxxxxx> 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@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- include/asm-frv/pgtable.h | 2 -- include/asm-generic/pgtable.h | 8 -------- include/asm-i386/pgtable-3level.h | 1 - include/asm-m32r/pgtable-2level.h | 2 +- 4 files changed, 1 insertion(+), 12 deletions(-) diff -puN include/asm-frv/pgtable.h~paravirt-remove-set-pte-atomic include/asm-frv/pgtable.h --- a/include/asm-frv/pgtable.h~paravirt-remove-set-pte-atomic +++ a/include/asm-frv/pgtable.h @@ -176,8 +176,6 @@ do { \ } while(0) #define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval) -#define set_pte_atomic(pteptr, pteval) set_pte((pteptr), (pteval)) - /* * pgd_offset() returns a (pgd_t *) * pgd_index() is used get the offset into the pgd page's array of pgd_t's; diff -puN include/asm-generic/pgtable.h~paravirt-remove-set-pte-atomic include/asm-generic/pgtable.h --- a/include/asm-generic/pgtable.h~paravirt-remove-set-pte-atomic +++ a/include/asm-generic/pgtable.h @@ -15,19 +15,11 @@ * Note: the old pte is known to not be writable, so we don't need to * worry about dirty bits etc getting lost. */ -#ifndef __HAVE_ARCH_SET_PTE_ATOMIC #define ptep_establish(__vma, __address, __ptep, __entry) \ do { \ set_pte_at((__vma)->vm_mm, (__address), __ptep, __entry); \ flush_tlb_page(__vma, __address); \ } while (0) -#else /* __HAVE_ARCH_SET_PTE_ATOMIC */ -#define ptep_establish(__vma, __address, __ptep, __entry) \ -do { \ - set_pte_atomic(__ptep, __entry); \ - flush_tlb_page(__vma, __address); \ -} while (0) -#endif /* __HAVE_ARCH_SET_PTE_ATOMIC */ #endif #ifndef __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS diff -puN include/asm-i386/pgtable-3level.h~paravirt-remove-set-pte-atomic include/asm-i386/pgtable-3level.h --- a/include/asm-i386/pgtable-3level.h~paravirt-remove-set-pte-atomic +++ a/include/asm-i386/pgtable-3level.h @@ -73,7 +73,6 @@ static inline void set_pte_present(struc ptep->pte_low = pte.pte_low; } -#define __HAVE_ARCH_SET_PTE_ATOMIC #define set_pte_atomic(pteptr,pteval) \ set_64bit((unsigned long long *)(pteptr),pte_val(pteval)) #define set_pmd(pmdptr,pmdval) \ diff -puN include/asm-m32r/pgtable-2level.h~paravirt-remove-set-pte-atomic include/asm-m32r/pgtable-2level.h --- a/include/asm-m32r/pgtable-2level.h~paravirt-remove-set-pte-atomic +++ a/include/asm-m32r/pgtable-2level.h @@ -44,7 +44,7 @@ static inline int pgd_present(pgd_t pgd) */ #define set_pte(pteptr, pteval) (*(pteptr) = pteval) #define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval) -#define set_pte_atomic(pteptr, pteval) set_pte(pteptr, pteval) + /* * (pmds are folded into pgds so this doesnt get actually called, * but the define is needed for a generic inline function.) _ Patches currently in -mm which might be from zach@xxxxxxxxxx are split-i386-and-x86_64-ptraceh.patch uml-use-ptrace-abih-instead-of-ptraceh.patch x86-allow-a-kernel-to-not-be-in-ring-0.patch x86-allow-a-kernel-to-not-be-in-ring-0-tidy.patch x86-add-a-bootparameter-to-reserve-high-linear-address-space.patch x86-trivial-pgtableh-__assembly__-move.patch x86-trivial-move-of-__have-macros-in-i386-pagetable-headers.patch x86-trivial-move-of-ptep_set_access_flags.patch x86-remove-unused-include-from-efi_stubs.patch paravirt-remove-read-hazard-from-cow.patch paravirt-pte-clear-not-present.patch paravirt-lazy-mmu-mode-hooks.patch paravirt-combine-flush-accessed-dirty.patch paravirt-kpte-flush.patch paravirt-optimize-ptep-establish-for-pae.patch paravirt-remove-set-pte-atomic.patch paravirt-pae-compile-fix.patch paravirt-update-pte-hook.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html