1 #ifndef LINUX_MM_DEBUG_H 2 #define LINUX_MM_DEBUG_H 1 3 4 struct page; 5 6 extern void dump_page(struct page *page, const char *reason); 7 extern void dump_page_badflags(struct page *page, const char *reason, 8 unsigned long badflags); 9 10 #ifdef CONFIG_DEBUG_VM 11 #define VM_BUG_ON(cond) BUG_ON(cond) 12 #define VM_BUG_ON_PAGE(cond, page) \ 13 do { if (unlikely(cond)) { dump_page(page, NULL); BUG(); } } while (0) 14 #define VM_WARN_ON(cond) WARN_ON(cond) 15 #define VM_WARN_ON_ONCE(cond) WARN_ON_ONCE(cond) 16 #else 17 #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) 18 #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond) 19 #define VM_WARN_ON(cond) BUILD_BUG_ON_INVALID(cond) 20 #define VM_WARN_ON_ONCE(cond) BUILD_BUG_ON_INVALID(cond) 21 #endif 22 23 #ifdef CONFIG_DEBUG_VIRTUAL 24 #define VIRTUAL_BUG_ON(cond) BUG_ON(cond) 25 #else 26 #define VIRTUAL_BUG_ON(cond) do { } while (0) 27 #endif 28 29 #endif 30