Re: [PATCH 1/3] HWPOISON, hugetlbfs: fix warning on freeing hwpoisoned hugepage

From: Naoya Horiguchi
Date: Fri Dec 07 2012 - 01:14:42 EST


On Fri, Dec 07, 2012 at 11:06:41AM +0530, Aneesh Kumar K.V wrote:
...
> > From: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
> > Date: Thu, 6 Dec 2012 20:54:30 -0500
> > Subject: [PATCH v2] HWPOISON, hugetlbfs: fix warning on freeing hwpoisoned
> > hugepage
> >
> > This patch fixes the warning from __list_del_entry() which is triggered
> > when a process tries to do free_huge_page() for a hwpoisoned hugepage.
>
>
> Can you get a dump stack for that. I am confused because the page was
> already in freelist, and we deleted it from the list and set the
> refcount to 1. So how are we reaching free_huge_page() again ?

free_huge_page() can be called for hwpoisoned hugepage from unpoison_memory().
This function gets refcount once and clears PageHWPoison, and then puts
refcount twice to return the hugepage back to free pool.
The second put_page() finally reaches free_huge_page().

Thanks,
Naoya
--
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/