On 2/8/21 12:37 AM, Miaohe Lin wrote: > PageHead(page) is implicitly checked in set_page_huge_active() via the > PageHeadHuge(page) check. So remove this explicit one. I do not disagree with the code change. However, this commit message is not accurate. set_page_huge_active() no longer exists in the tree you are changing. It was replaced with SetHPageMigratable. Also, the VM_BUG_ON_PAGE(!PageHeadHuge(page), page) was removed in the process. So, there is no redundant check. However, a quick audit of calling code reveals that all callers know they are operating on a hugetlb head page. -- Mike Kravetz > > Signed-off-by: Miaohe Lin <linmiaohe@xxxxxxxxxx> > --- > mm/hugetlb.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index 6cdb59d8f663..bbbe013a3a2d 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -5577,7 +5577,6 @@ bool isolate_huge_page(struct page *page, struct list_head *list) > > void putback_active_hugepage(struct page *page) > { > - VM_BUG_ON_PAGE(!PageHead(page), page); > spin_lock(&hugetlb_lock); > SetHPageMigratable(page); > list_move_tail(&page->lru, &(page_hstate(page))->hugepage_activelist); >