Re: [PATCHv4 33/39] thp, mm: implement do_huge_linear_fault()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, May 12, 2013 at 9:23 AM, Kirill A. Shutemov
<kirill.shutemov@xxxxxxxxxxxxxxx> 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, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]