[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20111208090338.GA20582@localhost>
Date: Thu, 8 Dec 2011 17:03:38 +0800
From: Wu Fengguang <fengguang.wu@...el.com>
To: Christoph Hellwig <hch@...radead.org>
Cc: Curt Wohlgemuth <curtw@...gle.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Andi Kleen <andi@...stfloor.org>, Ingo Molnar <mingo@...e.hu>,
Jens Axboe <axboe@...nel.dk>,
Steven Rostedt <rostedt@...dmis.org>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Rik van Riel <riel@...hat.com>,
Linux Memory Management List <linux-mm@...ck.org>,
"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: [PATCH] writeback: show writeback reason with __print_symbolic
> > + "req=%lu+%lu, ra=%lu+%d-%d, async=%d) = %d",
> > + ra_pattern_names[__entry->pattern],
>
> Instead of doing a manual array lookup please use __print_symbolic so
> that users of the binary interface (like trace-cmd) also get the
> right output.
FYI, here is the related fix on writeback traces.
---
This makes the traces trace-cmd friendly, at the cost of a bit code duplication.
CC: Curt Wohlgemuth <curtw@...gle.com>
CC: Steven Rostedt <rostedt@...dmis.org>
Signed-off-by: Wu Fengguang <fengguang.wu@...el.com>
---
include/trace/events/writeback.h | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
--- linux-next.orig/include/trace/events/writeback.h 2011-12-08 16:44:38.000000000 +0800
+++ linux-next/include/trace/events/writeback.h 2011-12-08 16:53:41.000000000 +0800
@@ -21,6 +21,18 @@
{I_REFERENCED, "I_REFERENCED"} \
)
+#define show_work_reason(reason) \
+ __print_symbolic(reason, \
+ {WB_REASON_BACKGROUND, "background"}, \
+ {WB_REASON_TRY_TO_FREE_PAGES, "try_to_free_pages"}, \
+ {WB_REASON_SYNC, "sync"}, \
+ {WB_REASON_PERIODIC, "periodic"}, \
+ {WB_REASON_LAPTOP_TIMER, "laptop_timer"}, \
+ {WB_REASON_FREE_MORE_MEM, "free_more_memory"}, \
+ {WB_REASON_FS_FREE_SPACE, "fs_free_space"}, \
+ {WB_REASON_FORKER_THREAD, "forker_thread"} \
+ )
+
struct wb_writeback_work;
DECLARE_EVENT_CLASS(writeback_work_class,
@@ -55,7 +67,7 @@ DECLARE_EVENT_CLASS(writeback_work_class
__entry->for_kupdate,
__entry->range_cyclic,
__entry->for_background,
- wb_reason_name[__entry->reason]
+ show_work_reason(__entry->reason)
)
);
#define DEFINE_WRITEBACK_WORK_EVENT(name) \
@@ -184,7 +196,8 @@ TRACE_EVENT(writeback_queue_io,
__entry->older, /* older_than_this in jiffies */
__entry->age, /* older_than_this in relative milliseconds */
__entry->moved,
- wb_reason_name[__entry->reason])
+ show_work_reason(__entry->reason)
+ )
);
TRACE_EVENT(global_dirty_state,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists