Subversion Repositories Kolibri OS

Rev

Rev 5270 | Rev 6936 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5270 serge 1
#ifndef LINUX_MM_DEBUG_H
2
#define LINUX_MM_DEBUG_H 1
3
 
6336 serge 4
#include 
5270 serge 5
#include 
6
 
7
struct page;
8
struct vm_area_struct;
9
struct mm_struct;
10
 
11
extern void dump_page(struct page *page, const char *reason);
12
extern void dump_page_badflags(struct page *page, const char *reason,
13
			       unsigned long badflags);
14
void dump_vma(const struct vm_area_struct *vma);
15
void dump_mm(const struct mm_struct *mm);
16
 
17
#ifdef CONFIG_DEBUG_VM
18
#define VM_BUG_ON(cond) BUG_ON(cond)
19
#define VM_BUG_ON_PAGE(cond, page)					\
20
	do {								\
21
		if (unlikely(cond)) {					\
22
			dump_page(page, "VM_BUG_ON_PAGE(" __stringify(cond)")");\
23
			BUG();						\
24
		}							\
25
	} while (0)
26
#define VM_BUG_ON_VMA(cond, vma)					\
27
	do {								\
28
		if (unlikely(cond)) {					\
29
			dump_vma(vma);					\
30
			BUG();						\
31
		}							\
32
	} while (0)
33
#define VM_BUG_ON_MM(cond, mm)						\
34
	do {								\
35
		if (unlikely(cond)) {					\
36
			dump_mm(mm);					\
37
			BUG();						\
38
		}							\
39
	} while (0)
40
#define VM_WARN_ON(cond) WARN_ON(cond)
41
#define VM_WARN_ON_ONCE(cond) WARN_ON_ONCE(cond)
42
#define VM_WARN_ONCE(cond, format...) WARN_ONCE(cond, format)
43
#else
44
#define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond)
45
#define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond)
46
#define VM_BUG_ON_VMA(cond, vma) VM_BUG_ON(cond)
47
#define VM_BUG_ON_MM(cond, mm) VM_BUG_ON(cond)
48
#define VM_WARN_ON(cond) BUILD_BUG_ON_INVALID(cond)
49
#define VM_WARN_ON_ONCE(cond) BUILD_BUG_ON_INVALID(cond)
50
#define VM_WARN_ONCE(cond, format...) BUILD_BUG_ON_INVALID(cond)
51
#endif
52
 
53
#ifdef CONFIG_DEBUG_VIRTUAL
54
#define VIRTUAL_BUG_ON(cond) BUG_ON(cond)
55
#else
56
#define VIRTUAL_BUG_ON(cond) do { } while (0)
57
#endif
58
 
59
#endif