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/