]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
mm/debug: improve memcg debugging
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Wed, 24 Feb 2021 20:01:29 +0000 (12:01 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 24 Feb 2021 21:38:27 +0000 (13:38 -0800)
The memcg_data is only valid on the head page, not the tail pages.  Change
the format and location of the printout within the dump to match the other
parts of struct page better.

Link: https://lkml.kernel.org/r/20210114190200.1894484-1-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Zi Yan <ziy@nvidia.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/debug.c

index 8a40b3fefbeb0068db2c7ccd6e874bee02e412d4..0bdda8407f71e7ae4089cf831199372da3b59f12 100644 (file)
@@ -110,6 +110,11 @@ void __dump_page(struct page *page, const char *reason)
                                        head_compound_mapcount(head));
                }
        }
+
+#ifdef CONFIG_MEMCG
+       if (head->memcg_data)
+               pr_warn("memcg:%lx\n", head->memcg_data);
+#endif
        if (PageKsm(page))
                type = "ksm ";
        else if (PageAnon(page))
@@ -180,11 +185,6 @@ hex_only:
 
        if (reason)
                pr_warn("page dumped because: %s\n", reason);
-
-#ifdef CONFIG_MEMCG
-       if (!page_poisoned && page->memcg_data)
-               pr_warn("pages's memcg:%lx\n", page->memcg_data);
-#endif
 }
 
 void dump_page(struct page *page, const char *reason)