On 04/27/2017 11:24 AM, Naoya Horiguchi wrote: > On Tue, Apr 25, 2017 at 02:27:27PM +0530, Anshuman Khandual wrote: >> Hello Jianguo, >> >> In the commit a49ecbcd7b0d5a1cda, it talks about HugeTLB page being >> freed into buddy allocator instead of hugepage_freelists. But if >> I look the code closely for the function unmap_and_move_huge_page() >> it only calls putback_active_hugepage() which puts the page into the >> huge page active list to free up the source HugeTLB page after any >> successful migration. I might be missing something here, so can you >> please point me where we release the HugeTLB page into buddy allocator >> directly during migration ? > > Hi Anshuman, > > As stated in the patch description, source hugetlb page is freed after > successful migration if overcommit is configured. > > The call chain is like below: > > soft_offline_huge_page > migrate_pages > unmap_and_move_huge_page > putback_active_hugepage(hpage) > put_page // refcount is down to 0 > __put_page > __put_compound_page > free_huge_page > if (h->surplus_huge_pages_node[nid]) > update_and_free_page > __free_pages > > So the inline comment > > + /* overcommit hugetlb page will be freed to buddy */ > > might be confusing because at this point the overcommit hugetlb page was > already freed to buddy. > > I hope this will help you. Surely does. Thanks Naoya. -- 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>