Messages in this thread | | | Date | Fri, 15 Apr 2011 16:39:16 +0200 | From | Andrea Arcangeli <> | Subject | Re: [PATCH] mm: Check if PTE is already allocated during page fault |
| |
On Fri, Apr 15, 2011 at 11:12:48AM +0100, Mel Gorman wrote: > diff --git a/mm/memory.c b/mm/memory.c > index 5823698..1659574 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -3322,7 +3322,7 @@ int handle_mm_fault(struct mm_struct *mm, struct vm_area_struct *vma, > * run pte_offset_map on the pmd, if an huge pmd could > * materialize from under us from a different thread. > */ > - if (unlikely(__pte_alloc(mm, vma, pmd, address))) > + if (unlikely(pmd_none(*pmd)) && __pte_alloc(mm, vma, pmd, address)) > return VM_FAULT_OOM; > /* if an huge pmd materialized from under us just retry later */ > if (unlikely(pmd_trans_huge(*pmd)))
Reviewed-by: Andrea Arcangeli <aarcange@redhat.com>
| |