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 majord...@vger.kernel.org
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