On Mon, Aug 10, 2015 at 02:32:30PM +0800, Wanpeng Li wrote: > THP pages will get a refcount in madvise_hwpoison() w/ MF_COUNT_INCREASED > flag, however, the refcount is still held when fail to split THP pages. > > Fix it by reducing the refcount of THP pages when fail to split THP. > > Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> It seems that the same conditional put_page() would be added to "soft offline: %#lx page already poisoned" branch too, right? > --- > mm/memory-failure.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/mm/memory-failure.c b/mm/memory-failure.c > index 8077b1c..56b8a71 100644 > --- a/mm/memory-failure.c > +++ b/mm/memory-failure.c > @@ -1710,6 +1710,8 @@ int soft_offline_page(struct page *page, int flags) > if (PageAnon(hpage) && unlikely(split_huge_page(hpage))) { > pr_info("soft offline: %#lx: failed to split THP\n", > pfn); > + if (flags & MF_COUNT_INCREASED) > + put_page(page); > return -EBUSY; > } > } > -- > 1.7.1 > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majordomo@xxxxxxxxx. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a> -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href