From: Seiji Aguchi Subject: [PATCH][RESEND]tracepoint: add drop_transaction/update_superblock_end to jbd2 Date: Thu, 12 Jan 2012 15:58:51 -0500 Message-ID: <5C4C569E8A4B9B42A84A977CF070A35B2C5839432C@USINDEVS01.corp.hds.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT Cc: "dle-develop@lists.sourceforge.net" , "linux-ext4@vger.kernel.org" , Lukas Czerner , "jack@suse.cz" , Satoru Moriya To: "tytso@mit.edu" Return-path: Received: from usindpps06.hds.com ([207.126.252.19]:42927 "EHLO usindpps06.hds.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755346Ab2ALVBP convert rfc822-to-8bit (ORCPT ); Thu, 12 Jan 2012 16:01:15 -0500 Content-Language: en-US Sender: linux-ext4-owner@vger.kernel.org List-ID: Hello Ted, Please review this patch adding jbd2 tracepoints(and hopefully apply to your tree). This has already been accepted by Lukas and Jan. Seiji --- This patch adds trace_jbd2_drop_transaction and trace_jbd2_update_superblock_end because there are similar tracepoints in jbd and they are needed in jbd2 as well. Signed-off-by: Seiji Aguchi Reviewed-by: Lukas Czerner Acked-by: Jan Kara --- fs/jbd2/checkpoint.c | 2 ++ fs/jbd2/journal.c | 2 ++ include/trace/events/jbd2.h | 28 ++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 0 deletions(-) diff --git a/fs/jbd2/checkpoint.c b/fs/jbd2/checkpoint.c index 16a698b..2bfd8b0 100644 --- a/fs/jbd2/checkpoint.c +++ b/fs/jbd2/checkpoint.c @@ -797,5 +797,7 @@ void __jbd2_journal_drop_transaction(journal_t *journal, transaction_t *transact J_ASSERT(journal->j_committing_transaction != transaction); J_ASSERT(journal->j_running_transaction != transaction); + trace_jbd2_drop_transaction(journal, transaction); + jbd_debug(1, "Dropping transaction %d, all done\n", transaction->t_tid); } diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c index f24df13..5953b3d 100644 --- a/fs/jbd2/journal.c +++ b/fs/jbd2/journal.c @@ -1185,6 +1185,8 @@ void jbd2_journal_update_superblock(journal_t *journal, int wait) } else write_dirty_buffer(bh, WRITE); + trace_jbd2_update_superblock_end(journal, wait); + out: /* If we have just flushed the log (by marking s_start==0), then * any future commit will have to be careful to update the diff --git a/include/trace/events/jbd2.h b/include/trace/events/jbd2.h index 7596441..ae59bc2 100644 --- a/include/trace/events/jbd2.h +++ b/include/trace/events/jbd2.h @@ -81,6 +81,13 @@ DEFINE_EVENT(jbd2_commit, jbd2_commit_logging, TP_ARGS(journal, commit_transaction) ); +DEFINE_EVENT(jbd2_commit, jbd2_drop_transaction, + + TP_PROTO(journal_t *journal, transaction_t *commit_transaction), + + TP_ARGS(journal, commit_transaction) +); + TRACE_EVENT(jbd2_end_commit, TP_PROTO(journal_t *journal, transaction_t *commit_transaction), @@ -229,6 +236,27 @@ TRACE_EVENT(jbd2_cleanup_journal_tail, __entry->block_nr, __entry->freed) ); +TRACE_EVENT(jbd2_update_superblock_end, + + TP_PROTO(journal_t *journal, int wait), + + TP_ARGS(journal, wait), + + TP_STRUCT__entry( + __field( dev_t, dev ) + __field( int, wait ) + ), + + TP_fast_assign( + __entry->dev = journal->j_fs_dev->bd_dev; + __entry->wait = wait; + ), + + TP_printk("dev %d,%d wait %d", + MAJOR(__entry->dev), MINOR(__entry->dev), + __entry->wait) +); + #endif /* _TRACE_JBD2_H */ /* This part must be outside protection */ -- 1.7.1