search for: native_local_ptep_get_and_clear

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...