search for: ptep_set_wrprotect

Displaying 20 results from an estimated 35 matches for "ptep_set_wrprotect".

2007 Apr 18
2
[PATCH 5/6] i386 virtualization - Make generic set wrprotect a macro
On Mon, Aug 15, 2005 at 04:00:39PM -0700, zach@vmware.com wrote: > Make the generic version of ptep_set_wrprotect a macro. This is good for > code uniformity, and fixes the build for architectures which include pgtable.h > through headers into assembly code, but do not define a ptep_set_wrprotect > function. This against the kernel coding style. In fact, we are usually doing exactly the opposite....
2007 Apr 18
2
[PATCH 5/6] i386 virtualization - Make generic set wrprotect a macro
On Mon, Aug 15, 2005 at 04:00:39PM -0700, zach@vmware.com wrote: > Make the generic version of ptep_set_wrprotect a macro. This is good for > code uniformity, and fixes the build for architectures which include pgtable.h > through headers into assembly code, but do not define a ptep_set_wrprotect > function. This against the kernel coding style. In fact, we are usually doing exactly the opposite....
2007 Apr 18
1
[PATCH 1/9] 00mm1 remove read hazard from cow.patch
...x-mm@kvack.org --- mm/memory.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) =================================================================== --- a/mm/memory.c +++ b/mm/memory.c @@ -466,7 +466,7 @@ copy_one_pte(struct mm_struct *dst_mm, s */ if (is_cow_mapping(vm_flags)) { ptep_set_wrprotect(src_mm, addr, src_pte); - pte = *src_pte; + pte = pte_wrprotect(pte); } /*
2007 Apr 18
0
[PATCH 9/9] 00mme update pte hook.patch
...\ __young = pte_young(*(ptep)); \ if (__young) { \ clear_bit(_PAGE_BIT_ACCESSED, &(ptep)->pte_low); \ + pte_update_defer((vma)->vm_mm, (addr), (ptep)); \ flush_tlb_page(vma, address); \ } \ __young; \ @@ -321,6 +341,7 @@ static inline void ptep_set_wrprotect(st static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep) { clear_bit(_PAGE_BIT_RW, &ptep->pte_low); + pte_update(mm, addr, ptep); } /*
2007 Apr 18
1
[PATCH 3/5] Make set_wrprotect() value safe
...=================================================================== --- linux-2.6.13.orig/include/asm-generic/pgtable.h 2005-08-15 13:54:42.000000000 -0700 +++ linux-2.6.13/include/asm-generic/pgtable.h 2005-08-22 14:21:05.000000000 -0700 @@ -314,11 +314,11 @@ do { \ #ifndef __HAVE_ARCH_PTEP_SET_WRPROTECT #define ptep_set_wrprotect(__mm, __address, __ptep) \ -({ \ +do { \ pte_t __old_pte = *(__ptep); \ set_pte_at((__mm), (__address), (__ptep), \ pte_wrprotect(__old_pte)); \ -}) +} while (0) #endif #ifndef __HAVE_ARCH_PTE_SAME
2007 Apr 18
1
[PATCH 3/5] Make set_wrprotect() value safe
...=================================================================== --- linux-2.6.13.orig/include/asm-generic/pgtable.h 2005-08-15 13:54:42.000000000 -0700 +++ linux-2.6.13/include/asm-generic/pgtable.h 2005-08-22 14:21:05.000000000 -0700 @@ -314,11 +314,11 @@ do { \ #ifndef __HAVE_ARCH_PTEP_SET_WRPROTECT #define ptep_set_wrprotect(__mm, __address, __ptep) \ -({ \ +do { \ pte_t __old_pte = *(__ptep); \ set_pte_at((__mm), (__address), (__ptep), \ pte_wrprotect(__old_pte)); \ -}) +} while (0) #endif #ifndef __HAVE_ARCH_PTE_SAME
2007 Oct 31
5
[PATCH 0/7] (Re-)introducing pvops for x86_64 - Real pvops work part
Hey folks, This is the part-of-pvops-implementation-that-is-not-exactly-a-merge. Neat, uh? This is the majority of the work. The first patch in the series does not really belong here. It was already sent to lkml separetedly before, but I'm including it again, for a very simple reason: Try to test the paravirt patches without it, and you'll fail miserably ;-) (and it was not yet
2007 Oct 31
5
[PATCH 0/7] (Re-)introducing pvops for x86_64 - Real pvops work part
Hey folks, This is the part-of-pvops-implementation-that-is-not-exactly-a-merge. Neat, uh? This is the majority of the work. The first patch in the series does not really belong here. It was already sent to lkml separetedly before, but I'm including it again, for a very simple reason: Try to test the paravirt patches without it, and you'll fail miserably ;-) (and it was not yet
2007 Apr 18
0
[PATCH 3/9] 00mm3 lazy mmu mode hooks.patch
...Amsden <zach@vmware.com> Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Cc: linux-mm@kvack.org =================================================================== --- a/include/asm-generic/pgtable.h +++ b/include/asm-generic/pgtable.h @@ -171,6 +171,26 @@ static inline void ptep_set_wrprotect(st #endif /* + * A facility to provide lazy MMU batching. This allows PTE updates and + * page invalidations to be delayed until a call to leave lazy MMU mode + * is issued. Some architectures may benefit from doing this, and it is + * beneficial for both shadow and direct mode hypervisors, w...
2007 Apr 18
0
[PATCH 2/6] Paravirt CPU hypercall batching mode
...t_p->fpu_counter > 5) - math_state_restore(); return prev_p; } diff -r 01f2e46c1416 include/asm-generic/pgtable.h --- a/include/asm-generic/pgtable.h Thu Dec 14 14:26:24 2006 -0800 +++ b/include/asm-generic/pgtable.h Thu Dec 14 14:44:56 2006 -0800 @@ -183,6 +183,19 @@ static inline void ptep_set_wrprotect(st #endif /* + * A facility to provide batching of the reload of page tables with the + * actual context switch code for paravirtualized guests. By convention, + * only one of the lazy modes (CPU, MMU) should be active at any given + * time, entry should never be nested, and entry and exits sh...
2007 Apr 18
0
[PATCH 2/6] Paravirt CPU hypercall batching mode
...t_p->fpu_counter > 5) - math_state_restore(); return prev_p; } diff -r 01f2e46c1416 include/asm-generic/pgtable.h --- a/include/asm-generic/pgtable.h Thu Dec 14 14:26:24 2006 -0800 +++ b/include/asm-generic/pgtable.h Thu Dec 14 14:44:56 2006 -0800 @@ -183,6 +183,19 @@ static inline void ptep_set_wrprotect(st #endif /* + * A facility to provide batching of the reload of page tables with the + * actual context switch code for paravirtualized guests. By convention, + * only one of the lazy modes (CPU, MMU) should be active at any given + * time, entry should never be nested, and entry and exits sh...
2007 Apr 18
1
[RFC, PATCH 19/24] i386 Vmi mmu changes
...*ptep) { if (!pte_dirty(*ptep)) return 0; return test_and_clear_bit(_PAGE_BIT_DIRTY, &ptep->pte_low); } - + static inline int ptep_test_and_clear_young(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) { if (!pte_young(*ptep)) @@ -281,6 +289,15 @@ static inline void ptep_set_wrprotect(st clear_bit(_PAGE_BIT_RW, &ptep->pte_low); } +#define ptep_set_access_flags(__vma, __address, __ptep, __entry, __dirty) \ + do { \ + if (__dirty) { \ + (__ptep)->pte_low = (__entry).pte_low; \ + flush_tlb_page(__vma, __address); \ + } \ + } whil...
2007 Apr 18
1
[RFC, PATCH 19/24] i386 Vmi mmu changes
...*ptep) { if (!pte_dirty(*ptep)) return 0; return test_and_clear_bit(_PAGE_BIT_DIRTY, &ptep->pte_low); } - + static inline int ptep_test_and_clear_young(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) { if (!pte_young(*ptep)) @@ -281,6 +289,15 @@ static inline void ptep_set_wrprotect(st clear_bit(_PAGE_BIT_RW, &ptep->pte_low); } +#define ptep_set_access_flags(__vma, __address, __ptep, __entry, __dirty) \ + do { \ + if (__dirty) { \ + (__ptep)->pte_low = (__entry).pte_low; \ + flush_tlb_page(__vma, __address); \ + } \ + } whil...
2007 Apr 18
2
[PATCH 2/5] Paravirt cpu batching.patch
...t_p->fpu_counter > 5) - math_state_restore(); return prev_p; } diff -r 320f0d4d2280 include/asm-generic/pgtable.h --- a/include/asm-generic/pgtable.h Tue Dec 12 13:50:50 2006 -0800 +++ b/include/asm-generic/pgtable.h Tue Dec 12 13:50:53 2006 -0800 @@ -183,6 +183,19 @@ static inline void ptep_set_wrprotect(st #endif /* + * A facility to provide batching of the reload of page tables with the + * actual context switch code for paravirtualized guests. By convention, + * only one of the lazy modes (CPU, MMU) should be active at any given + * time, entry should never be nested, and entry and exits sh...
2007 Apr 18
2
[PATCH 2/5] Paravirt cpu batching.patch
...t_p->fpu_counter > 5) - math_state_restore(); return prev_p; } diff -r 320f0d4d2280 include/asm-generic/pgtable.h --- a/include/asm-generic/pgtable.h Tue Dec 12 13:50:50 2006 -0800 +++ b/include/asm-generic/pgtable.h Tue Dec 12 13:50:53 2006 -0800 @@ -183,6 +183,19 @@ static inline void ptep_set_wrprotect(st #endif /* + * A facility to provide batching of the reload of page tables with the + * actual context switch code for paravirtualized guests. By convention, + * only one of the lazy modes (CPU, MMU) should be active at any given + * time, entry should never be nested, and entry and exits sh...
2007 Aug 10
9
[PATCH 0/25 -v2] paravirt_ops for x86_64, second round
Here is an slightly updated version of the paravirt_ops patch. If your comments and criticism were welcome before, now it's even more! There are some issues that are _not_ addressed in this revision, and here are the causes: * split debugreg into multiple functions, suggested by Andi: - Me and jsfg agree that introducing more pvops (specially 14!) is not worthwhile. So, although we do
2007 Aug 10
9
[PATCH 0/25 -v2] paravirt_ops for x86_64, second round
Here is an slightly updated version of the paravirt_ops patch. If your comments and criticism were welcome before, now it's even more! There are some issues that are _not_ addressed in this revision, and here are the causes: * split debugreg into multiple functions, suggested by Andi: - Me and jsfg agree that introducing more pvops (specially 14!) is not worthwhile. So, although we do
2007 Nov 09
11
[PATCH 0/24] paravirt_ops for unified x86 - that's me again!
Hey folks, Here's a new spin of the pvops64 patch series. We didn't get that many comments from the last time, so it should be probably almost ready to get in. Heya! >From the last version, the most notable changes are: * consolidation of system.h, merging jeremy's comments about ordering concerns * consolidation of smp functions that goes through smp_ops. They're sharing
2007 Nov 09
11
[PATCH 0/24] paravirt_ops for unified x86 - that's me again!
Hey folks, Here's a new spin of the pvops64 patch series. We didn't get that many comments from the last time, so it should be probably almost ready to get in. Heya! >From the last version, the most notable changes are: * consolidation of system.h, merging jeremy's comments about ordering concerns * consolidation of smp functions that goes through smp_ops. They're sharing
2007 Aug 15
13
[PATCH 0/25][V3] pvops_64 last round (hopefully)
This is hopefully the last iteration of the pvops64 patch. >From the last version, we have only one change, which is include/asm-x86_64/processor.h: There were still one survivor in raw asm. Also, git screwed me up for some reason, and the 25th patch was missing the new files, paravirt.{c,h}. (although I do remember having git-add'ed it, but who knows...) Andrew, could you please push it