On Sun, May 12, 2013 at 9:23 AM, Kirill A. Shutemov
<[email protected]> wrote:
> @@ -3301,12 +3335,23 @@ static int __do_fault(struct mm_struct *mm, struct 
> vm_area_struct *vma,
>  {
>         pte_t *page_table;
>         spinlock_t *ptl;
> +       pgtable_t pgtable = NULL;
>         struct page *page, *cow_page, *dirty_page = NULL;
> -       pte_t entry;
>         bool anon = false, page_mkwrite = false;
>         bool write = flags & FAULT_FLAG_WRITE;
> +       bool thp = flags & FAULT_FLAG_TRANSHUGE;
> +       unsigned long addr_aligned;
>         struct vm_fault vmf;
> -       int ret;
> +       int nr, ret;
> +
> +       if (thp) {
> +               if (!transhuge_vma_suitable(vma, address))
> +                       return VM_FAULT_FALLBACK;
> +               if (unlikely(khugepaged_enter(vma)))

vma->vm_mm now is under the care of khugepaged, why?

> +                       return VM_FAULT_OOM;
> +               addr_aligned = address & HPAGE_PMD_MASK;
> +       } else
> +               addr_aligned = address & PAGE_MASK;
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to