mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 07:01:32 +00:00
mm/debug: print only page mapcount (excluding folio entire mapcount) in __dump_folio()
Let's simplify and only print the page mapcount: we already print the large folio mapcount and the entire folio mapcount for large folios separately; that should be sufficient to figure out what's happening. While at it, print the page mapcount also if it had an underflow, filtering out only typed pages. Link: https://lkml.kernel.org/r/20240409192301.907377-18-david@redhat.com Signed-off-by: David Hildenbrand <david@redhat.com> Cc: Chris Zankel <chris@zankel.net> Cc: Hugh Dickins <hughd@google.com> Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Max Filippov <jcmvbkbc@gmail.com> Cc: Miaohe Lin <linmiaohe@huawei.com> Cc: Muchun Song <muchun.song@linux.dev> Cc: Naoya Horiguchi <nao.horiguchi@gmail.com> Cc: Peter Xu <peterx@redhat.com> Cc: Richard Chang <richardycc@google.com> Cc: Rich Felker <dalias@libc.org> Cc: Ryan Roberts <ryan.roberts@arm.com> Cc: Yang Shi <shy828301@gmail.com> Cc: Yin Fengwei <fengwei.yin@intel.com> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
5f8856cdae
commit
7441d34922
@ -55,15 +55,10 @@ static void __dump_folio(struct folio *folio, struct page *page,
|
||||
unsigned long pfn, unsigned long idx)
|
||||
{
|
||||
struct address_space *mapping = folio_mapping(folio);
|
||||
int mapcount = atomic_read(&page->_mapcount) + 1;
|
||||
int mapcount = atomic_read(&page->_mapcount);
|
||||
char *type = "";
|
||||
|
||||
/* Open-code page_mapcount() to avoid looking up a stale folio */
|
||||
if (mapcount < 0)
|
||||
mapcount = 0;
|
||||
if (folio_test_large(folio))
|
||||
mapcount += folio_entire_mapcount(folio);
|
||||
|
||||
mapcount = page_type_has_type(mapcount) ? 0 : mapcount + 1;
|
||||
pr_warn("page: refcount:%d mapcount:%d mapping:%p index:%#lx pfn:%#lx\n",
|
||||
folio_ref_count(folio), mapcount, mapping,
|
||||
folio->index + idx, pfn);
|
||||
|
Loading…
Reference in New Issue
Block a user