mm, tracing: unify mm flags handling in tracepoints and printk
authorVlastimil Babka <vbabka@suse.cz>
Tue, 15 Mar 2016 21:55:52 +0000 (14:55 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 15 Mar 2016 23:55:16 +0000 (16:55 -0700)
In tracepoints, it's possible to print gfp flags in a human-friendly
format through a macro show_gfp_flags(), which defines a translation
array and passes is to __print_flags().  Since the following patch will
introduce support for gfp flags printing in printk(), it would be nice
to reuse the array.  This is not straightforward, since __print_flags()
can't simply reference an array defined in a .c file such as mm/debug.c
- it has to be a macro to allow the macro magic to communicate the
format to userspace tools such as trace-cmd.

The solution is to create a macro __def_gfpflag_names which is used both
in show_gfp_flags(), and to define the gfpflag_names[] array in
mm/debug.c.

On the other hand, mm/debug.c also defines translation tables for page
flags and vma flags, and desire was expressed (but not implemented in
this series) to use these also from tracepoints.  Thus, this patch also
renames the events/gfpflags.h file to events/mmflags.h and moves the
table definitions there, using the same macro approach as for gfpflags.
This allows translating all three kinds of mm-specific flags both in
tracepoints and printk.

Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Reviewed-by: Michal Hocko <mhocko@suse.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Sasha Levin <sasha.levin@oracle.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Mel Gorman <mgorman@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/gfp.h
include/trace/events/btrfs.h
include/trace/events/compaction.h
include/trace/events/gfpflags.h [deleted file]
include/trace/events/huge_memory.h
include/trace/events/kmem.h
include/trace/events/mmflags.h [new file with mode: 0644]
include/trace/events/vmscan.h
mm/debug.c
tools/perf/builtin-kmem.c

index 3d6d878c00f5a4e2f5180938e503b61e937e0d70..06546b36eb6a2edc03462028dcd5252a3a3a9a9f 100644 (file)
@@ -11,7 +11,7 @@ struct vm_area_struct;
 
 /*
  * In case of changes, please don't forget to update
- * include/trace/events/gfpflags.h and tools/perf/builtin-kmem.c
+ * include/trace/events/mmflags.h and tools/perf/builtin-kmem.c
  */
 
 /* Plain integer GFP bitmasks. Do not use this directly. */
index d866f21efbbfd4722e6c23bde8320d7b54ecf2be..677807f29a1cd18ae142f0f6e95999b0b6e1125e 100644 (file)
@@ -6,7 +6,7 @@
 
 #include <linux/writeback.h>
 #include <linux/tracepoint.h>
-#include <trace/events/gfpflags.h>
+#include <trace/events/mmflags.h>
 
 struct btrfs_root;
 struct btrfs_fs_info;
index c92d1e1cbad9171cdce14eaa7fc0a9400783388a..111e5666e5ebffb7c960d7fd3e024b084a466939 100644 (file)
@@ -7,7 +7,7 @@
 #include <linux/types.h>
 #include <linux/list.h>
 #include <linux/tracepoint.h>
-#include <trace/events/gfpflags.h>
+#include <trace/events/mmflags.h>
 
 #define COMPACTION_STATUS                                      \
        EM( COMPACT_DEFERRED,           "deferred")             \
diff --git a/include/trace/events/gfpflags.h b/include/trace/events/gfpflags.h
deleted file mode 100644 (file)
index f53b216..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * The order of these masks is important. Matching masks will be seen
- * first and the left over flags will end up showing by themselves.
- *
- * For example, if we have GFP_KERNEL before GFP_USER we wil get:
- *
- *  GFP_KERNEL|GFP_HARDWALL
- *
- * Thus most bits set go first.
- */
-#define show_gfp_flags(flags)                                          \
-       (flags) ? __print_flags(flags, "|",                             \
-       {(unsigned long)GFP_TRANSHUGE,          "GFP_TRANSHUGE"},       \
-       {(unsigned long)GFP_HIGHUSER_MOVABLE,   "GFP_HIGHUSER_MOVABLE"},\
-       {(unsigned long)GFP_HIGHUSER,           "GFP_HIGHUSER"},        \
-       {(unsigned long)GFP_USER,               "GFP_USER"},            \
-       {(unsigned long)GFP_TEMPORARY,          "GFP_TEMPORARY"},       \
-       {(unsigned long)GFP_KERNEL_ACCOUNT,     "GFP_KERNEL_ACCOUNT"},  \
-       {(unsigned long)GFP_KERNEL,             "GFP_KERNEL"},          \
-       {(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_HIGHMEM,          "__GFP_HIGHMEM"},       \
-       {(unsigned long)GFP_DMA32,              "GFP_DMA32"},           \
-       {(unsigned long)__GFP_HIGH,             "__GFP_HIGH"},          \
-       {(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"},        \
-       {(unsigned long)__GFP_NOFAIL,           "__GFP_NOFAIL"},        \
-       {(unsigned long)__GFP_NORETRY,          "__GFP_NORETRY"},       \
-       {(unsigned long)__GFP_COMP,             "__GFP_COMP"},          \
-       {(unsigned long)__GFP_ZERO,             "__GFP_ZERO"},          \
-       {(unsigned long)__GFP_NOMEMALLOC,       "__GFP_NOMEMALLOC"},    \
-       {(unsigned long)__GFP_MEMALLOC,         "__GFP_MEMALLOC"},      \
-       {(unsigned long)__GFP_HARDWALL,         "__GFP_HARDWALL"},      \
-       {(unsigned long)__GFP_THISNODE,         "__GFP_THISNODE"},      \
-       {(unsigned long)__GFP_RECLAIMABLE,      "__GFP_RECLAIMABLE"},   \
-       {(unsigned long)__GFP_MOVABLE,          "__GFP_MOVABLE"},       \
-       {(unsigned long)__GFP_ACCOUNT,          "__GFP_ACCOUNT"},       \
-       {(unsigned long)__GFP_NOTRACK,          "__GFP_NOTRACK"},       \
-       {(unsigned long)__GFP_WRITE,            "__GFP_WRITE"},         \
-       {(unsigned long)__GFP_RECLAIM,          "__GFP_RECLAIM"},       \
-       {(unsigned long)__GFP_DIRECT_RECLAIM,   "__GFP_DIRECT_RECLAIM"},\
-       {(unsigned long)__GFP_KSWAPD_RECLAIM,   "__GFP_KSWAPD_RECLAIM"},\
-       {(unsigned long)__GFP_OTHER_NODE,       "__GFP_OTHER_NODE"}     \
-       ) : "none"
-
index 47c6212d8f3cecb07d62cb9ea81f6ea65ae0c35f..551ba4acde4d89497aacb901b2ceba2a0fa2d6fc 100644 (file)
@@ -6,8 +6,6 @@
 
 #include  <linux/tracepoint.h>
 
-#include <trace/events/gfpflags.h>
-
 #define SCAN_STATUS                                                    \
        EM( SCAN_FAIL,                  "failed")                       \
        EM( SCAN_SUCCEED,               "succeeded")                    \
index f7554fd7fc62b92d6b1d73d7db6030599b552014..ca7217389067cbbdb752c05f6119bf3dc706a677 100644 (file)
@@ -6,7 +6,7 @@
 
 #include <linux/types.h>
 #include <linux/tracepoint.h>
-#include <trace/events/gfpflags.h>
+#include <trace/events/mmflags.h>
 
 DECLARE_EVENT_CLASS(kmem_alloc,
 
diff --git a/include/trace/events/mmflags.h b/include/trace/events/mmflags.h
new file mode 100644 (file)
index 0000000..a849185
--- /dev/null
@@ -0,0 +1,164 @@
+/*
+ * The order of these masks is important. Matching masks will be seen
+ * first and the left over flags will end up showing by themselves.
+ *
+ * For example, if we have GFP_KERNEL before GFP_USER we wil get:
+ *
+ *  GFP_KERNEL|GFP_HARDWALL
+ *
+ * Thus most bits set go first.
+ */
+
+#define __def_gfpflag_names                                            \
+       {(unsigned long)GFP_TRANSHUGE,          "GFP_TRANSHUGE"},       \
+       {(unsigned long)GFP_HIGHUSER_MOVABLE,   "GFP_HIGHUSER_MOVABLE"},\
+       {(unsigned long)GFP_HIGHUSER,           "GFP_HIGHUSER"},        \
+       {(unsigned long)GFP_USER,               "GFP_USER"},            \
+       {(unsigned long)GFP_TEMPORARY,          "GFP_TEMPORARY"},       \
+       {(unsigned long)GFP_KERNEL_ACCOUNT,     "GFP_KERNEL_ACCOUNT"},  \
+       {(unsigned long)GFP_KERNEL,             "GFP_KERNEL"},          \
+       {(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_HIGHMEM,          "__GFP_HIGHMEM"},       \
+       {(unsigned long)GFP_DMA32,              "GFP_DMA32"},           \
+       {(unsigned long)__GFP_HIGH,             "__GFP_HIGH"},          \
+       {(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"},        \
+       {(unsigned long)__GFP_NOFAIL,           "__GFP_NOFAIL"},        \
+       {(unsigned long)__GFP_NORETRY,          "__GFP_NORETRY"},       \
+       {(unsigned long)__GFP_COMP,             "__GFP_COMP"},          \
+       {(unsigned long)__GFP_ZERO,             "__GFP_ZERO"},          \
+       {(unsigned long)__GFP_NOMEMALLOC,       "__GFP_NOMEMALLOC"},    \
+       {(unsigned long)__GFP_MEMALLOC,         "__GFP_MEMALLOC"},      \
+       {(unsigned long)__GFP_HARDWALL,         "__GFP_HARDWALL"},      \
+       {(unsigned long)__GFP_THISNODE,         "__GFP_THISNODE"},      \
+       {(unsigned long)__GFP_RECLAIMABLE,      "__GFP_RECLAIMABLE"},   \
+       {(unsigned long)__GFP_MOVABLE,          "__GFP_MOVABLE"},       \
+       {(unsigned long)__GFP_ACCOUNT,          "__GFP_ACCOUNT"},       \
+       {(unsigned long)__GFP_NOTRACK,          "__GFP_NOTRACK"},       \
+       {(unsigned long)__GFP_WRITE,            "__GFP_WRITE"},         \
+       {(unsigned long)__GFP_RECLAIM,          "__GFP_RECLAIM"},       \
+       {(unsigned long)__GFP_DIRECT_RECLAIM,   "__GFP_DIRECT_RECLAIM"},\
+       {(unsigned long)__GFP_KSWAPD_RECLAIM,   "__GFP_KSWAPD_RECLAIM"},\
+       {(unsigned long)__GFP_OTHER_NODE,       "__GFP_OTHER_NODE"}     \
+
+#define show_gfp_flags(flags)                                          \
+       (flags) ? __print_flags(flags, "|",                             \
+       __def_gfpflag_names                                             \
+       ) : "none"
+
+#ifdef CONFIG_MMU
+#define IF_HAVE_PG_MLOCK(flag,string) ,{1UL << flag, string}
+#else
+#define IF_HAVE_PG_MLOCK(flag,string)
+#endif
+
+#ifdef CONFIG_ARCH_USES_PG_UNCACHED
+#define IF_HAVE_PG_UNCACHED(flag,string) ,{1UL << flag, string}
+#else
+#define IF_HAVE_PG_UNCACHED(flag,string)
+#endif
+
+#ifdef CONFIG_MEMORY_FAILURE
+#define IF_HAVE_PG_HWPOISON(flag,string) ,{1UL << flag, string}
+#else
+#define IF_HAVE_PG_HWPOISON(flag,string)
+#endif
+
+#if defined(CONFIG_IDLE_PAGE_TRACKING) && defined(CONFIG_64BIT)
+#define IF_HAVE_PG_IDLE(flag,string) ,{1UL << flag, string}
+#else
+#define IF_HAVE_PG_IDLE(flag,string)
+#endif
+
+#define __def_pageflag_names                                           \
+       {1UL << PG_locked,              "locked"        },              \
+       {1UL << PG_error,               "error"         },              \
+       {1UL << PG_referenced,          "referenced"    },              \
+       {1UL << PG_uptodate,            "uptodate"      },              \
+       {1UL << PG_dirty,               "dirty"         },              \
+       {1UL << PG_lru,                 "lru"           },              \
+       {1UL << PG_active,              "active"        },              \
+       {1UL << PG_slab,                "slab"          },              \
+       {1UL << PG_owner_priv_1,        "owner_priv_1"  },              \
+       {1UL << PG_arch_1,              "arch_1"        },              \
+       {1UL << PG_reserved,            "reserved"      },              \
+       {1UL << PG_private,             "private"       },              \
+       {1UL << PG_private_2,           "private_2"     },              \
+       {1UL << PG_writeback,           "writeback"     },              \
+       {1UL << PG_head,                "head"          },              \
+       {1UL << PG_swapcache,           "swapcache"     },              \
+       {1UL << PG_mappedtodisk,        "mappedtodisk"  },              \
+       {1UL << PG_reclaim,             "reclaim"       },              \
+       {1UL << PG_swapbacked,          "swapbacked"    },              \
+       {1UL << PG_unevictable,         "unevictable"   }               \
+IF_HAVE_PG_MLOCK(PG_mlocked,           "mlocked"       )               \
+IF_HAVE_PG_UNCACHED(PG_uncached,       "uncached"      )               \
+IF_HAVE_PG_HWPOISON(PG_hwpoison,       "hwpoison"      )               \
+IF_HAVE_PG_IDLE(PG_young,              "young"         )               \
+IF_HAVE_PG_IDLE(PG_idle,               "idle"          )
+
+#define show_page_flags(flags)                                         \
+       (flags) ? __print_flags(flags, "|",                             \
+       __def_pageflag_names                                            \
+       ) : "none"
+
+#if defined(CONFIG_X86)
+#define __VM_ARCH_SPECIFIC {VM_PAT,     "pat"           }
+#elif defined(CONFIG_PPC)
+#define __VM_ARCH_SPECIFIC {VM_SAO,     "sao"           }
+#elif defined(CONFIG_PARISC) || defined(CONFIG_METAG) || defined(CONFIG_IA64)
+#define __VM_ARCH_SPECIFIC {VM_GROWSUP,        "growsup"       }
+#elif !defined(CONFIG_MMU)
+#define __VM_ARCH_SPECIFIC {VM_MAPPED_COPY,"mappedcopy"        }
+#else
+#define __VM_ARCH_SPECIFIC {VM_ARCH_1, "arch_1"        }
+#endif
+
+#ifdef CONFIG_MEM_SOFT_DIRTY
+#define IF_HAVE_VM_SOFTDIRTY(flag,name) {flag, name },
+#else
+#define IF_HAVE_VM_SOFTDIRTY(flag,name)
+#endif
+
+#define __def_vmaflag_names                                            \
+       {VM_READ,                       "read"          },              \
+       {VM_WRITE,                      "write"         },              \
+       {VM_EXEC,                       "exec"          },              \
+       {VM_SHARED,                     "shared"        },              \
+       {VM_MAYREAD,                    "mayread"       },              \
+       {VM_MAYWRITE,                   "maywrite"      },              \
+       {VM_MAYEXEC,                    "mayexec"       },              \
+       {VM_MAYSHARE,                   "mayshare"      },              \
+       {VM_GROWSDOWN,                  "growsdown"     },              \
+       {VM_PFNMAP,                     "pfnmap"        },              \
+       {VM_DENYWRITE,                  "denywrite"     },              \
+       {VM_LOCKONFAULT,                "lockonfault"   },              \
+       {VM_LOCKED,                     "locked"        },              \
+       {VM_IO,                         "io"            },              \
+       {VM_SEQ_READ,                   "seqread"       },              \
+       {VM_RAND_READ,                  "randread"      },              \
+       {VM_DONTCOPY,                   "dontcopy"      },              \
+       {VM_DONTEXPAND,                 "dontexpand"    },              \
+       {VM_ACCOUNT,                    "account"       },              \
+       {VM_NORESERVE,                  "noreserve"     },              \
+       {VM_HUGETLB,                    "hugetlb"       },              \
+       __VM_ARCH_SPECIFIC                              ,               \
+       {VM_DONTDUMP,                   "dontdump"      },              \
+IF_HAVE_VM_SOFTDIRTY(VM_SOFTDIRTY,     "softdirty"     )               \
+       {VM_MIXEDMAP,                   "mixedmap"      },              \
+       {VM_HUGEPAGE,                   "hugepage"      },              \
+       {VM_NOHUGEPAGE,                 "nohugepage"    },              \
+       {VM_MERGEABLE,                  "mergeable"     }               \
+
+#define show_vma_flags(flags)                                          \
+       (flags) ? __print_flags(flags, "|",                             \
+       __def_vmaflag_names                                             \
+       ) : "none"
index 31763dd8db1cea9c4b7d5685c9996dfc73430562..0101ef37f1eed78a39ef095f3ced183cb4e3f7c8 100644 (file)
@@ -8,7 +8,7 @@
 #include <linux/tracepoint.h>
 #include <linux/mm.h>
 #include <linux/memcontrol.h>
-#include <trace/events/gfpflags.h>
+#include <trace/events/mmflags.h>
 
 #define RECLAIM_WB_ANON                0x0001u
 #define RECLAIM_WB_FILE                0x0002u
index f05b2d5d6481f64913500c1ad01857d53a5de0de..410af904a7d513a5fae5424458dcd70e39ce9e05 100644 (file)
@@ -9,41 +9,14 @@
 #include <linux/mm.h>
 #include <linux/trace_events.h>
 #include <linux/memcontrol.h>
+#include <trace/events/mmflags.h>
 
 static const struct trace_print_flags pageflag_names[] = {
-       {1UL << PG_locked,              "locked"        },
-       {1UL << PG_error,               "error"         },
-       {1UL << PG_referenced,          "referenced"    },
-       {1UL << PG_uptodate,            "uptodate"      },
-       {1UL << PG_dirty,               "dirty"         },
-       {1UL << PG_lru,                 "lru"           },
-       {1UL << PG_active,              "active"        },
-       {1UL << PG_slab,                "slab"          },
-       {1UL << PG_owner_priv_1,        "owner_priv_1"  },
-       {1UL << PG_arch_1,              "arch_1"        },
-       {1UL << PG_reserved,            "reserved"      },
-       {1UL << PG_private,             "private"       },
-       {1UL << PG_private_2,           "private_2"     },
-       {1UL << PG_writeback,           "writeback"     },
-       {1UL << PG_head,                "head"          },
-       {1UL << PG_swapcache,           "swapcache"     },
-       {1UL << PG_mappedtodisk,        "mappedtodisk"  },
-       {1UL << PG_reclaim,             "reclaim"       },
-       {1UL << PG_swapbacked,          "swapbacked"    },
-       {1UL << PG_unevictable,         "unevictable"   },
-#ifdef CONFIG_MMU
-       {1UL << PG_mlocked,             "mlocked"       },
-#endif
-#ifdef CONFIG_ARCH_USES_PG_UNCACHED
-       {1UL << PG_uncached,            "uncached"      },
-#endif
-#ifdef CONFIG_MEMORY_FAILURE
-       {1UL << PG_hwpoison,            "hwpoison"      },
-#endif
-#if defined(CONFIG_IDLE_PAGE_TRACKING) && defined(CONFIG_64BIT)
-       {1UL << PG_young,               "young"         },
-       {1UL << PG_idle,                "idle"          },
-#endif
+       __def_pageflag_names
+};
+
+static const struct trace_print_flags gfpflag_names[] = {
+       __def_gfpflag_names
 };
 
 static void dump_flags(unsigned long flags,
@@ -108,47 +81,8 @@ EXPORT_SYMBOL(dump_page);
 
 #ifdef CONFIG_DEBUG_VM
 
-static const struct trace_print_flags vmaflags_names[] = {
-       {VM_READ,                       "read"          },
-       {VM_WRITE,                      "write"         },
-       {VM_EXEC,                       "exec"          },
-       {VM_SHARED,                     "shared"        },
-       {VM_MAYREAD,                    "mayread"       },
-       {VM_MAYWRITE,                   "maywrite"      },
-       {VM_MAYEXEC,                    "mayexec"       },
-       {VM_MAYSHARE,                   "mayshare"      },
-       {VM_GROWSDOWN,                  "growsdown"     },
-       {VM_PFNMAP,                     "pfnmap"        },
-       {VM_DENYWRITE,                  "denywrite"     },
-       {VM_LOCKONFAULT,                "lockonfault"   },
-       {VM_LOCKED,                     "locked"        },
-       {VM_IO,                         "io"            },
-       {VM_SEQ_READ,                   "seqread"       },
-       {VM_RAND_READ,                  "randread"      },
-       {VM_DONTCOPY,                   "dontcopy"      },
-       {VM_DONTEXPAND,                 "dontexpand"    },
-       {VM_ACCOUNT,                    "account"       },
-       {VM_NORESERVE,                  "noreserve"     },
-       {VM_HUGETLB,                    "hugetlb"       },
-#if defined(CONFIG_X86)
-       {VM_PAT,                        "pat"           },
-#elif defined(CONFIG_PPC)
-       {VM_SAO,                        "sao"           },
-#elif defined(CONFIG_PARISC) || defined(CONFIG_METAG) || defined(CONFIG_IA64)
-       {VM_GROWSUP,                    "growsup"       },
-#elif !defined(CONFIG_MMU)
-       {VM_MAPPED_COPY,                "mappedcopy"    },
-#else
-       {VM_ARCH_1,                     "arch_1"        },
-#endif
-       {VM_DONTDUMP,                   "dontdump"      },
-#ifdef CONFIG_MEM_SOFT_DIRTY
-       {VM_SOFTDIRTY,                  "softdirty"     },
-#endif
-       {VM_MIXEDMAP,                   "mixedmap"      },
-       {VM_HUGEPAGE,                   "hugepage"      },
-       {VM_NOHUGEPAGE,                 "nohugepage"    },
-       {VM_MERGEABLE,                  "mergeable"     },
+static const struct trace_print_flags vmaflag_names[] = {
+       __def_vmaflag_names
 };
 
 void dump_vma(const struct vm_area_struct *vma)
@@ -162,7 +96,7 @@ void dump_vma(const struct vm_area_struct *vma)
                (unsigned long)pgprot_val(vma->vm_page_prot),
                vma->anon_vma, vma->vm_ops, vma->vm_pgoff,
                vma->vm_file, vma->vm_private_data);
-       dump_flags(vma->vm_flags, vmaflags_names, ARRAY_SIZE(vmaflags_names));
+       dump_flags(vma->vm_flags, vmaflag_names, ARRAY_SIZE(vmaflag_names));
 }
 EXPORT_SYMBOL(dump_vma);
 
@@ -233,8 +167,8 @@ void dump_mm(const struct mm_struct *mm)
                ""              /* This is here to not have a comma! */
                );
 
-               dump_flags(mm->def_flags, vmaflags_names,
-                               ARRAY_SIZE(vmaflags_names));
+               dump_flags(mm->def_flags, vmaflag_names,
+                               ARRAY_SIZE(vmaflag_names));
 }
 
 #endif         /* CONFIG_DEBUG_VM */
index 83343ed30e8f38bf621fe197336a7727f535140b..c9cb3be47cff4801d105d8c5091768a4646ccdc5 100644 (file)
@@ -602,7 +602,7 @@ static int gfpcmp(const void *a, const void *b)
        return fa->flags - fb->flags;
 }
 
-/* see include/trace/events/gfpflags.h */
+/* see include/trace/events/mmflags.h */
 static const struct {
        const char *original;
        const char *compact;