projects
/
linux-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mm: dump page when hitting a VM_BUG_ON using VM_BUG_ON_PAGE
[linux-block.git]
/
include
/
linux
/
mmdebug.h
diff --git
a/include/linux/mmdebug.h
b/include/linux/mmdebug.h
index 580bd587d916cfa28116e814b24639e1719efe5c..5042c036dda9fcddcef627743d588f62b5aa4aaf 100644
(file)
--- a/
include/linux/mmdebug.h
+++ b/
include/linux/mmdebug.h
@@
-1,10
+1,19
@@
#ifndef LINUX_MM_DEBUG_H
#define LINUX_MM_DEBUG_H 1
#ifndef LINUX_MM_DEBUG_H
#define LINUX_MM_DEBUG_H 1
+struct page;
+
+extern void dump_page(struct page *page, char *reason);
+extern void dump_page_badflags(struct page *page, char *reason,
+ unsigned long badflags);
+
#ifdef CONFIG_DEBUG_VM
#define VM_BUG_ON(cond) BUG_ON(cond)
#ifdef CONFIG_DEBUG_VM
#define VM_BUG_ON(cond) BUG_ON(cond)
+#define VM_BUG_ON_PAGE(cond, page) \
+ do { if (unlikely(cond)) { dump_page(page, NULL); BUG(); } } while (0)
#else
#define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond)
#else
#define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond)
+#define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond)
#endif
#ifdef CONFIG_DEBUG_VIRTUAL
#endif
#ifdef CONFIG_DEBUG_VIRTUAL