mm/debug: dump compound page information on a second line

Simplify both the implementation and the output by splitting all the
compound page information onto a second line.

Reported-by: John Hubbard <jhubbard@nvidia.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Tested-by: John Hubbard <jhubbard@nvidia.com>
Reviewed-by: John Hubbard <jhubbard@nvidia.com>
Acked-by: Mike Rapoport <rppt@linux.ibm.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: William Kucharski <william.kucharski@oracle.com>
Link: http://lkml.kernel.org/r/20200709202117.7216-3-willy@infradead.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Matthew Wilcox (Oracle) 2020-08-06 23:19:35 -07:00 committed by Linus Torvalds
parent e1ab96f8cc
commit 452b557c95
1 changed files with 12 additions and 18 deletions

View File

@ -95,27 +95,21 @@ void __dump_page(struct page *page, const char *reason)
*/
mapcount = PageSlab(head) ? 0 : page_mapcount(page);
if (compound)
pr_warn("page:%px refcount:%d mapcount:%d mapping:%p index:%#lx\n",
page, page_ref_count(head), mapcount, mapping,
page_to_pgoff(page));
if (compound) {
if (hpage_pincount_available(page)) {
pr_warn("page:%px refcount:%d mapcount:%d mapping:%p "
"index:%#lx head:%px order:%u "
"compound_mapcount:%d compound_pincount:%d\n",
page, page_ref_count(head), mapcount,
mapping, page_to_pgoff(page), head,
compound_order(head), compound_mapcount(page),
compound_pincount(page));
pr_warn("head:%px order:%u compound_mapcount:%d compound_pincount:%d\n",
head, compound_order(head),
compound_mapcount(head),
compound_pincount(head));
} else {
pr_warn("page:%px refcount:%d mapcount:%d mapping:%p "
"index:%#lx head:%px order:%u "
"compound_mapcount:%d\n",
page, page_ref_count(head), mapcount,
mapping, page_to_pgoff(page), head,
compound_order(head), compound_mapcount(page));
pr_warn("head:%px order:%u compound_mapcount:%d\n",
head, compound_order(head),
compound_mapcount(head));
}
else
pr_warn("page:%px refcount:%d mapcount:%d mapping:%p index:%#lx\n",
page, page_ref_count(page), mapcount,
mapping, page_to_pgoff(page));
}
if (PageKsm(page))
type = "ksm ";
else if (PageAnon(page))