Hillf Danton wrote:
> 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?

Because it has at least once VMA suitable for huge pages.

Yes, we can't collapse pages in file-backed VMAs yet, but It's better to
be consistent to avoid issues when collapsing will be implemented.

-- 
 Kirill A. Shutemov
--
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