Displaying 4 results from an estimated 4 matches for "native_local_ptep_get_and_clear".
2007 Apr 18
0
[PATCH 4/4] Pte simplify ops.patch
Add comment and condense code to make use of native_local_ptep_get_and_clear
function. Also, it turns out the 2-level and 3-level paging definitions
were identical, so move the common definition into pgtable.h
Signed-off-by: Zachary Amsden <zach@vmware.com>
diff -r b3bbc1b5e085 include/asm-i386/pgtable-2level.h
--- a/include/asm-i386/pgtable-2level.h Wed Apr 11 18:...
2007 Apr 18
0
[PATCH 4/4] Pte simplify ops.patch
Add comment and condense code to make use of native_local_ptep_get_and_clear
function. Also, it turns out the 2-level and 3-level paging definitions
were identical, so move the common definition into pgtable.h
Signed-off-by: Zachary Amsden <zach@vmware.com>
diff -r b3bbc1b5e085 include/asm-i386/pgtable-2level.h
--- a/include/asm-i386/pgtable-2level.h Wed Apr 11 18:...
2007 Apr 18
1
[PATCH 3/4] Pte xchg optimization.patch
...- a/include/asm-i386/pgtable-2level.h Wed Apr 11 18:23:01 2007 -0700
+++ b/include/asm-i386/pgtable-2level.h Wed Apr 11 18:23:39 2007 -0700
@@ -41,10 +41,24 @@ static inline void native_pte_clear(stru
*xp = __pte(0);
}
+/* local pte updates need not use xchg for locking */
+static inline pte_t native_local_ptep_get_and_clear(pte_t *ptep)
+{
+ pte_t res;
+
+ res = *ptep;
+ native_pte_clear(NULL, 0, ptep);
+ return res;
+}
+
+#ifdef CONFIG_SMP
static inline pte_t native_ptep_get_and_clear(pte_t *xp)
{
return __pte(xchg(&xp->pte_low, 0));
}
+#else
+#define native_ptep_get_and_clear(xp) native_local_ptep_get_an...
2007 Apr 18
1
[PATCH 3/4] Pte xchg optimization.patch
...- a/include/asm-i386/pgtable-2level.h Wed Apr 11 18:23:01 2007 -0700
+++ b/include/asm-i386/pgtable-2level.h Wed Apr 11 18:23:39 2007 -0700
@@ -41,10 +41,24 @@ static inline void native_pte_clear(stru
*xp = __pte(0);
}
+/* local pte updates need not use xchg for locking */
+static inline pte_t native_local_ptep_get_and_clear(pte_t *ptep)
+{
+ pte_t res;
+
+ res = *ptep;
+ native_pte_clear(NULL, 0, ptep);
+ return res;
+}
+
+#ifdef CONFIG_SMP
static inline pte_t native_ptep_get_and_clear(pte_t *xp)
{
return __pte(xchg(&xp->pte_low, 0));
}
+#else
+#define native_ptep_get_and_clear(xp) native_local_ptep_get_an...