| 
									
										
										
										
											2008-06-12 13:56:40 +02:00
										 |  |  | #ifndef LINUX_MM_DEBUG_H
 | 
					
						
							|  |  |  | #define LINUX_MM_DEBUG_H 1
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-04 16:07:02 -07:00
										 |  |  | #include <linux/stringify.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-01-23 15:52:54 -08:00
										 |  |  | struct page; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-04-07 15:37:38 -07:00
										 |  |  | extern void dump_page(struct page *page, const char *reason); | 
					
						
							|  |  |  | extern void dump_page_badflags(struct page *page, const char *reason, | 
					
						
							| 
									
										
										
										
											2014-01-23 15:52:54 -08:00
										 |  |  | 			       unsigned long badflags); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-12 13:56:40 +02:00
										 |  |  | #ifdef CONFIG_DEBUG_VM
 | 
					
						
							|  |  |  | #define VM_BUG_ON(cond) BUG_ON(cond)
 | 
					
						
							| 
									
										
										
										
											2014-06-04 16:07:02 -07:00
										 |  |  | #define VM_BUG_ON_PAGE(cond, page)					\
 | 
					
						
							|  |  |  | 	do {								\ | 
					
						
							|  |  |  | 		if (unlikely(cond)) {					\ | 
					
						
							|  |  |  | 			dump_page(page, "VM_BUG_ON_PAGE(" __stringify(cond)")");\ | 
					
						
							|  |  |  | 			BUG();						\ | 
					
						
							|  |  |  | 		}							\ | 
					
						
							|  |  |  | 	} while (0) | 
					
						
							| 
									
										
										
										
											2014-06-04 16:06:59 -07:00
										 |  |  | #define VM_WARN_ON(cond) WARN_ON(cond)
 | 
					
						
							|  |  |  | #define VM_WARN_ON_ONCE(cond) WARN_ON_ONCE(cond)
 | 
					
						
							| 
									
										
										
										
											2008-06-12 13:56:40 +02:00
										 |  |  | #else
 | 
					
						
							| 
									
										
										
										
											2012-05-29 15:06:28 -07:00
										 |  |  | #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond)
 | 
					
						
							| 
									
										
										
										
											2014-01-23 15:52:54 -08:00
										 |  |  | #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond)
 | 
					
						
							| 
									
										
										
										
											2014-06-04 16:06:59 -07:00
										 |  |  | #define VM_WARN_ON(cond) BUILD_BUG_ON_INVALID(cond)
 | 
					
						
							|  |  |  | #define VM_WARN_ON_ONCE(cond) BUILD_BUG_ON_INVALID(cond)
 | 
					
						
							| 
									
										
										
										
											2008-06-12 13:56:40 +02:00
										 |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef CONFIG_DEBUG_VIRTUAL
 | 
					
						
							|  |  |  | #define VIRTUAL_BUG_ON(cond) BUG_ON(cond)
 | 
					
						
							|  |  |  | #else
 | 
					
						
							| 
									
										
										
										
											2008-06-19 13:28:11 +02:00
										 |  |  | #define VIRTUAL_BUG_ON(cond) do { } while (0)
 | 
					
						
							| 
									
										
										
										
											2008-06-12 13:56:40 +02:00
										 |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif
 |