at v3.16-rc5 964 B view raw
1#ifndef LINUX_MM_DEBUG_H 2#define LINUX_MM_DEBUG_H 1 3 4#include <linux/stringify.h> 5 6struct page; 7 8extern void dump_page(struct page *page, const char *reason); 9extern void dump_page_badflags(struct page *page, const char *reason, 10 unsigned long badflags); 11 12#ifdef CONFIG_DEBUG_VM 13#define VM_BUG_ON(cond) BUG_ON(cond) 14#define VM_BUG_ON_PAGE(cond, page) \ 15 do { \ 16 if (unlikely(cond)) { \ 17 dump_page(page, "VM_BUG_ON_PAGE(" __stringify(cond)")");\ 18 BUG(); \ 19 } \ 20 } while (0) 21#define VM_WARN_ON(cond) WARN_ON(cond) 22#define VM_WARN_ON_ONCE(cond) WARN_ON_ONCE(cond) 23#else 24#define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) 25#define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond) 26#define VM_WARN_ON(cond) BUILD_BUG_ON_INVALID(cond) 27#define VM_WARN_ON_ONCE(cond) BUILD_BUG_ON_INVALID(cond) 28#endif 29 30#ifdef CONFIG_DEBUG_VIRTUAL 31#define VIRTUAL_BUG_ON(cond) BUG_ON(cond) 32#else 33#define VIRTUAL_BUG_ON(cond) do { } while (0) 34#endif 35 36#endif