Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1216243
| From | Steven Rostedt <rostedt@goodmis.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 2/3] mm, compaction: export tracepoints zone names to userspace |
| Date | 2015-08-31 17:00 +0200 |
| Message-ID | <q3yIX-2rV-41@gated-at.bofh.it> (permalink) |
| References | <q27hM-8oR-17@gated-at.bofh.it> <q27hM-8oR-27@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Thu, 27 Aug 2015 17:24:03 +0200 Vlastimil Babka <vbabka@suse.cz> wrote: > Some compaction tracepoints use zone->name to print which zone is being > compacted. This works for in-kernel printing, but not userspace trace printing > of raw captured trace such as via trace-cmd report. > > This patch uses zone_idx() instead of zone->name as the raw value, and when > printing, converts the zone_type to string using the appropriate EM() macros > and some ugly tricks to overcome the problem that half the values depend on > CONFIG_ options and one does not simply use #ifdef inside of #define. > > trace-cmd output before: > transhuge-stres-4235 [000] 453.149280: mm_compaction_finished: node=0 > zone=ffffffff81815d7a order=9 ret=partial > > after: > transhuge-stres-4235 [000] 453.149280: mm_compaction_finished: node=0 > zone=Normal order=9 ret=partial > > Signed-off-by: Vlastimil Babka <vbabka@suse.cz> > Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> > Cc: Steven Rostedt <rostedt@goodmis.org> > Cc: Ingo Molnar <mingo@redhat.com> > Cc: Mel Gorman <mgorman@suse.de> > Cc: David Rientjes <rientjes@google.com> > --- > include/trace/events/compaction.h | 38 ++++++++++++++++++++++++++++++++------ > 1 file changed, 32 insertions(+), 6 deletions(-) > > diff --git a/include/trace/events/compaction.h b/include/trace/events/compaction.h > index 1275a55..8daa8fa 100644 > --- a/include/trace/events/compaction.h > +++ b/include/trace/events/compaction.h > @@ -18,6 +18,31 @@ > EM( COMPACT_NO_SUITABLE_PAGE, "no_suitable_page") \ > EMe(COMPACT_NOT_SUITABLE_ZONE, "not_suitable_zone") > > +#ifdef CONFIG_ZONE_DMA > +#define IFDEF_ZONE_DMA(X) X > +#else > +#define IFDEF_ZONE_DMA(X) > +#endif > + > +#ifdef CONFIG_ZONE_DMA32 > +#define IFDEF_ZONE_DMA32(X) X > +#else > +#define IFDEF_ZONE_DMA32(X) > +#endif > + > +#ifdef CONFIG_ZONE_HIGHMEM_ > +#define IFDEF_ZONE_HIGHMEM(X) X > +#else > +#define IFDEF_ZONE_HIGHMEM(X) > +#endif > + > +#define ZONE_TYPE \ > + IFDEF_ZONE_DMA( EM (ZONE_DMA, "DMA")) \ > + IFDEF_ZONE_DMA32( EM (ZONE_DMA32, "DMA32")) \ > + EM (ZONE_NORMAL, "Normal") \ > + IFDEF_ZONE_HIGHMEM( EM (ZONE_HIGHMEM,"HighMem")) \ > + EMe(ZONE_MOVABLE,"Movable") > + Hmm, have you tried to compile this with CONFIG_ZONE_HIGHMEM disabled, and CONFIG_ZONE_DMA and/or CONFIG_ZONE_DMA32 enabled? The EMe() macro must come last, as it doesn't have the ending comma and the __print_symbolic() can fail to compile due to it. -- Steve > /* > * First define the enums in the above macros to be exported to userspace > * via TRACE_DEFINE_ENUM(). > @@ -28,6 +53,7 @@ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 2/3] mm, compaction: export tracepoints zone names to userspace Vlastimil Babka <vbabka@suse.cz> - 2015-08-27 17:30 +0200
Re: [PATCH 2/3] mm, compaction: export tracepoints zone names to userspace Steven Rostedt <rostedt@goodmis.org> - 2015-08-31 17:00 +0200
Re: [PATCH 2/3] mm, compaction: export tracepoints zone names to userspace Vlastimil Babka <vbabka@suse.cz> - 2015-08-31 17:10 +0200
Re: [PATCH 2/3] mm, compaction: export tracepoints zone names to userspace Steven Rostedt <rostedt@goodmis.org> - 2015-08-31 17:20 +0200
Re: [PATCH 2/3] mm, compaction: export tracepoints zone names to userspace Steven Rostedt <rostedt@goodmis.org> - 2015-08-31 17:40 +0200
csiph-web