Mel Gorman | 33906bc | 2010-08-09 17:19:16 -0700 | [diff] [blame^] | 1 | /* |
| 2 | * The order of these masks is important. Matching masks will be seen |
| 3 | * first and the left over flags will end up showing by themselves. |
| 4 | * |
| 5 | * For example, if we have GFP_KERNEL before GFP_USER we wil get: |
| 6 | * |
| 7 | * GFP_KERNEL|GFP_HARDWALL |
| 8 | * |
| 9 | * Thus most bits set go first. |
| 10 | */ |
| 11 | #define show_gfp_flags(flags) \ |
| 12 | (flags) ? __print_flags(flags, "|", \ |
| 13 | {(unsigned long)GFP_HIGHUSER_MOVABLE, "GFP_HIGHUSER_MOVABLE"}, \ |
| 14 | {(unsigned long)GFP_HIGHUSER, "GFP_HIGHUSER"}, \ |
| 15 | {(unsigned long)GFP_USER, "GFP_USER"}, \ |
| 16 | {(unsigned long)GFP_TEMPORARY, "GFP_TEMPORARY"}, \ |
| 17 | {(unsigned long)GFP_KERNEL, "GFP_KERNEL"}, \ |
| 18 | {(unsigned long)GFP_NOFS, "GFP_NOFS"}, \ |
| 19 | {(unsigned long)GFP_ATOMIC, "GFP_ATOMIC"}, \ |
| 20 | {(unsigned long)GFP_NOIO, "GFP_NOIO"}, \ |
| 21 | {(unsigned long)__GFP_HIGH, "GFP_HIGH"}, \ |
| 22 | {(unsigned long)__GFP_WAIT, "GFP_WAIT"}, \ |
| 23 | {(unsigned long)__GFP_IO, "GFP_IO"}, \ |
| 24 | {(unsigned long)__GFP_COLD, "GFP_COLD"}, \ |
| 25 | {(unsigned long)__GFP_NOWARN, "GFP_NOWARN"}, \ |
| 26 | {(unsigned long)__GFP_REPEAT, "GFP_REPEAT"}, \ |
| 27 | {(unsigned long)__GFP_NOFAIL, "GFP_NOFAIL"}, \ |
| 28 | {(unsigned long)__GFP_NORETRY, "GFP_NORETRY"}, \ |
| 29 | {(unsigned long)__GFP_COMP, "GFP_COMP"}, \ |
| 30 | {(unsigned long)__GFP_ZERO, "GFP_ZERO"}, \ |
| 31 | {(unsigned long)__GFP_NOMEMALLOC, "GFP_NOMEMALLOC"}, \ |
| 32 | {(unsigned long)__GFP_HARDWALL, "GFP_HARDWALL"}, \ |
| 33 | {(unsigned long)__GFP_THISNODE, "GFP_THISNODE"}, \ |
| 34 | {(unsigned long)__GFP_RECLAIMABLE, "GFP_RECLAIMABLE"}, \ |
| 35 | {(unsigned long)__GFP_MOVABLE, "GFP_MOVABLE"} \ |
| 36 | ) : "GFP_NOWAIT" |
| 37 | |