Hi, On Fri, Mar 29, 2013 at 02:57:30PM +0100, Michal Hocko wrote: > On Thu 28-03-13 11:42:38, Naoya Horiguchi wrote: > [...] > > @@ -2968,7 +2968,8 @@ long follow_hugetlb_page(struct mm_struct *mm, struct > > vm_area_struct *vma, > > * first, for the page indexing below to work. > > */ > > pte = huge_pte_offset(mm, vaddr & huge_page_mask(h)); > > - absent = !pte || huge_pte_none(huge_ptep_get(pte)); > > + absent = !pte || huge_pte_none(huge_ptep_get(pte)) || > > + is_swap_pte(huge_ptep_get(pte)); > > is_swap_pte doesn't seem right. Shouldn't you use is_hugetlb_entry_hwpoisoned > instead?
I tested only hwpoisoned hugepage, but the same can happen for hugepages under migration. So I intended to filter out all types of swap entries. The local variable 'absent' seems to mean whether data on the address is immediately available, so swap type entry isn't included in it. Thanks, Naoya -- 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/