On Tue, Jan 28, 2020 at 07:24:10PM -0800, John Hubbard wrote:
When debugging a problem that involves compound pages, it is extremely helpful if dump_page() reports not only the page->_refcount, but also the refcount of the head page of the compound page. That's because the head page collects refcounts for the entire compound page.
Therefore, enhance dump_page() so as to print out the refcount of the head page of a compound page.
This approach (printing information about a struct page that is not the struct page that was passed into dump_page()) has a precedent: compound_mapcount is already being printed.
refcount on a tail must always be 0. I think we should only print it when it is non-zero, emphasizing this fact with a standalone message.