mm: print more details for bad_page()
bad_page() is cool in that it prints out a bunch of data about the page. But, I can never remember which page flags are good and which are bad, or whether ->index or ->mapping is required to be NULL. This patch allows bad/dump_page() callers to specify a string about why they are dumping the page and adds explanation strings to a number of places. It also adds a 'bad_flags' argument to bad_page(), which it then dumps out separately from the flags which are actually set. This way, the messages will show specifically why the page was bad, *specifically* which flags it is complaining about, if it was a page flag combination which was the problem. [akpm@linux-foundation.org: switch to pr_alert] Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Reviewed-by: Christoph Lameter <cl@linux.com> Cc: Andi Kleen <andi@firstfloor.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
このコミットが含まれているのは:
@@ -267,7 +267,7 @@ void balloon_page_putback(struct page *page)
|
||||
put_page(page);
|
||||
} else {
|
||||
WARN_ON(1);
|
||||
dump_page(page);
|
||||
dump_page(page, "not movable balloon page");
|
||||
}
|
||||
unlock_page(page);
|
||||
}
|
||||
@@ -287,7 +287,7 @@ int balloon_page_migrate(struct page *newpage,
|
||||
BUG_ON(!trylock_page(newpage));
|
||||
|
||||
if (WARN_ON(!__is_movable_balloon_page(page))) {
|
||||
dump_page(page);
|
||||
dump_page(page, "not movable balloon page");
|
||||
unlock_page(newpage);
|
||||
return rc;
|
||||
}
|
||||
|
新しいイシューから参照
ユーザーをブロックする