+ paravirt-remove-set-pte-atomic.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux