Re: [PATCH 01/10] migrate: add migrate_entry_wait_huge()

From: Naoya Horiguchi
Date: Mon Apr 08 2013 - 16:02:43 EST


On Fri, Apr 05, 2013 at 04:33:32PM -0400, KOSAKI Motohiro wrote:
> > diff --git v3.9-rc3.orig/mm/hugetlb.c v3.9-rc3/mm/hugetlb.c
> > index 0a0be33..98a478e 100644
> > --- v3.9-rc3.orig/mm/hugetlb.c
> > +++ v3.9-rc3/mm/hugetlb.c
> > @@ -2819,7 +2819,7 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
> > if (ptep) {
> > entry = huge_ptep_get(ptep);
> > if (unlikely(is_hugetlb_entry_migration(entry))) {
> > - migration_entry_wait(mm, (pmd_t *)ptep, address);
> > + migration_entry_wait_huge(mm, (pmd_t *)ptep, address);
>
> Hm.
>
> How do you test this? From x86 point of view, this patch seems unnecessary because
> hugetlb_fault call "address &= hugetlb_mask()" at first and then migration_entry_wait()
> could grab right pte lock. And from !x86 point of view, this funciton still doesn't work
> because huge page != pmd on some arch.

I kicked hugepage migration for address range where I repeat to access
in a loop, and checked what happened (whether soft lockup happens or not.)
But I don't fully understand what the problem is, and I might wrongly define
the problem. So give me time to clarify it.

And I fully agree that this function should be arch dependent.

> I might be missing though.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/