mm: clarify why we avoid page_mapcount() for slab pages in dump_page()
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Sat, 8 Oct 2016 00:01:40 +0000 (17:01 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 8 Oct 2016 01:46:29 +0000 (18:46 -0700)
Let's add comment on why we skip page_mapcount() for sl[aou]b pages.

Link: http://lkml.kernel.org/r/20160922105532.GB24593@node
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/debug.c

index 74c7cae..9feb699 100644 (file)
@@ -42,6 +42,11 @@ const struct trace_print_flags vmaflag_names[] = {
 
 void __dump_page(struct page *page, const char *reason)
 {
+       /*
+        * Avoid VM_BUG_ON() in page_mapcount().
+        * page->_mapcount space in struct page is used by sl[aou]b pages to
+        * encode own info.
+        */
        int mapcount = PageSlab(page) ? 0 : page_mapcount(page);
 
        pr_emerg("page:%p count:%d mapcount:%d mapping:%p index:%#lx",