While allocateing pages using buddy allocator, the compound page is probably split up to free pages. Under the circumstance, the compound page should be destroied by function destroy_compound_page(). However, there has duplicate check to judge if the page is compound one. The patch removes the duplicate check since the function compound_order() will returns 0 while the page hasn't PG_head set in function destroy_compound_page(). That's to say, the function destroy_compound_page() needn't check PG_head any more through function PageHead(). Signed-off-by: Gavin Shan <shangw@xxxxxxxxxxxxxxxxxx> --- mm/page_alloc.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index a712fb9..1277632 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -363,8 +363,7 @@ static int destroy_compound_page(struct page *page, unsigned long order) int nr_pages = 1 << order; int bad = 0; - if (unlikely(compound_order(page) != order) || - unlikely(!PageHead(page))) { + if (unlikely(compound_order(page) != order)) { bad_page(page); bad++; } -- 1.7.5.4 -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>