The show_gfp_flags() macro provides human-friendly printing of gfp flags in
tracepoints. However, it is somewhat out of date and missing several flags.
This patches fills in the missing flags, and distinguishes properly between
GFP_ATOMIC and __GFP_ATOMIC which were both translated to "GFP_ATOMIC".

Also add a note in gfp.h so hopefully future changes will be synced better.

Signed-off-by: Vlastimil Babka <[email protected]>
Cc: Steven Rostedt <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Rasmus Villemoes <[email protected]>
Cc: Joonsoo Kim <[email protected]>
Cc: Minchan Kim <[email protected]>
Cc: Sasha Levin <[email protected]>
Cc: "Kirill A. Shutemov" <[email protected]>
Cc: Mel Gorman <[email protected]>
Cc: Michal Hocko <[email protected]>
---
 include/linux/gfp.h             | 5 +++++
 include/trace/events/gfpflags.h | 9 +++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/include/linux/gfp.h b/include/linux/gfp.h
index 91f74e741aa2..6ffee7f93af7 100644
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -9,6 +9,11 @@
 
 struct vm_area_struct;
 
+/*
+ * In case of changes, please don't forget to update
+ * include/trace/events/gfpflags.h
+ */
+
 /* Plain integer GFP bitmasks. Do not use this directly. */
 #define ___GFP_DMA             0x01u
 #define ___GFP_HIGHMEM         0x02u
diff --git a/include/trace/events/gfpflags.h b/include/trace/events/gfpflags.h
index dde6bf092c8a..8395798d97b0 100644
--- a/include/trace/events/gfpflags.h
+++ b/include/trace/events/gfpflags.h
@@ -19,9 +19,13 @@
        {(unsigned long)GFP_NOFS,               "GFP_NOFS"},            \
        {(unsigned long)GFP_ATOMIC,             "GFP_ATOMIC"},          \
        {(unsigned long)GFP_NOIO,               "GFP_NOIO"},            \
+       {(unsigned long)GFP_NOWAIT,             "GFP_NOWAIT"},          \
+       {(unsigned long)__GFP_DMA,              "GFP_DMA"},             \
+       {(unsigned long)__GFP_DMA32,            "GFP_DMA32"},           \
        {(unsigned long)__GFP_HIGH,             "GFP_HIGH"},            \
-       {(unsigned long)__GFP_ATOMIC,           "GFP_ATOMIC"},          \
+       {(unsigned long)__GFP_ATOMIC,           "__GFP_ATOMIC"},        \
        {(unsigned long)__GFP_IO,               "GFP_IO"},              \
+       {(unsigned long)__GFP_FS,               "GFP_FS"},              \
        {(unsigned long)__GFP_COLD,             "GFP_COLD"},            \
        {(unsigned long)__GFP_NOWARN,           "GFP_NOWARN"},          \
        {(unsigned long)__GFP_REPEAT,           "GFP_REPEAT"},          \
@@ -36,8 +40,9 @@
        {(unsigned long)__GFP_RECLAIMABLE,      "GFP_RECLAIMABLE"},     \
        {(unsigned long)__GFP_MOVABLE,          "GFP_MOVABLE"},         \
        {(unsigned long)__GFP_NOTRACK,          "GFP_NOTRACK"},         \
+       {(unsigned long)__GFP_WRITE,            "GFP_WRITE"},           \
        {(unsigned long)__GFP_DIRECT_RECLAIM,   "GFP_DIRECT_RECLAIM"},  \
        {(unsigned long)__GFP_KSWAPD_RECLAIM,   "GFP_KSWAPD_RECLAIM"},  \
        {(unsigned long)__GFP_OTHER_NODE,       "GFP_OTHER_NODE"}       \
-       ) : "GFP_NOWAIT"
+       ) : "none"
 
-- 
2.6.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to