diff options
author | Lukas Czerner <lczerner@redhat.com> | 2011-05-23 12:33:02 -0400 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2011-06-25 11:29:51 -0400 |
commit | 99cb1a318c37bf462c53d43f4dacb7b4896ce0c9 (patch) | |
tree | 32a9046649777e8cc589bbc8e0afb382642ba450 /fs/jbd/checkpoint.c | |
parent | 785c4bcc0d88ff006a0b2120815a71e86ecf21ce (diff) |
jbd: Add fixed tracepoints
This commit adds fixed tracepoint for jbd. It has been based on fixed
tracepoints for jbd2, however there are missing those for collecting
statistics, since I think that it will require more intrusive patch so I
should have its own commit, if someone decide that it is needed. Also
there are new tracepoints in __journal_drop_transaction() and
journal_update_superblock().
The list of jbd tracepoints:
jbd_checkpoint
jbd_start_commit
jbd_commit_locking
jbd_commit_flushing
jbd_commit_logging
jbd_drop_transaction
jbd_end_commit
jbd_do_submit_data
jbd_cleanup_journal_tail
jbd_update_superblock_end
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Cc: Jan Kara <jack@suse.cz>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/jbd/checkpoint.c')
-rw-r--r-- | fs/jbd/checkpoint.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/jbd/checkpoint.c b/fs/jbd/checkpoint.c index e4b87bc1fa56..dea7503b47e8 100644 --- a/fs/jbd/checkpoint.c +++ b/fs/jbd/checkpoint.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/jbd.h> | 22 | #include <linux/jbd.h> |
23 | #include <linux/errno.h> | 23 | #include <linux/errno.h> |
24 | #include <linux/slab.h> | 24 | #include <linux/slab.h> |
25 | #include <trace/events/jbd.h> | ||
25 | 26 | ||
26 | /* | 27 | /* |
27 | * Unlink a buffer from a transaction checkpoint list. | 28 | * Unlink a buffer from a transaction checkpoint list. |
@@ -358,6 +359,7 @@ int log_do_checkpoint(journal_t *journal) | |||
358 | * journal straight away. | 359 | * journal straight away. |
359 | */ | 360 | */ |
360 | result = cleanup_journal_tail(journal); | 361 | result = cleanup_journal_tail(journal); |
362 | trace_jbd_checkpoint(journal, result); | ||
361 | jbd_debug(1, "cleanup_journal_tail returned %d\n", result); | 363 | jbd_debug(1, "cleanup_journal_tail returned %d\n", result); |
362 | if (result <= 0) | 364 | if (result <= 0) |
363 | return result; | 365 | return result; |
@@ -503,6 +505,7 @@ int cleanup_journal_tail(journal_t *journal) | |||
503 | if (blocknr < journal->j_tail) | 505 | if (blocknr < journal->j_tail) |
504 | freed = freed + journal->j_last - journal->j_first; | 506 | freed = freed + journal->j_last - journal->j_first; |
505 | 507 | ||
508 | trace_jbd_cleanup_journal_tail(journal, first_tid, blocknr, freed); | ||
506 | jbd_debug(1, | 509 | jbd_debug(1, |
507 | "Cleaning journal tail from %d to %d (offset %u), " | 510 | "Cleaning journal tail from %d to %d (offset %u), " |
508 | "freeing %u\n", | 511 | "freeing %u\n", |
@@ -752,6 +755,7 @@ void __journal_drop_transaction(journal_t *journal, transaction_t *transaction) | |||
752 | J_ASSERT(journal->j_committing_transaction != transaction); | 755 | J_ASSERT(journal->j_committing_transaction != transaction); |
753 | J_ASSERT(journal->j_running_transaction != transaction); | 756 | J_ASSERT(journal->j_running_transaction != transaction); |
754 | 757 | ||
758 | trace_jbd_drop_transaction(journal, transaction); | ||
755 | jbd_debug(1, "Dropping transaction %d, all done\n", transaction->t_tid); | 759 | jbd_debug(1, "Dropping transaction %d, all done\n", transaction->t_tid); |
756 | kfree(transaction); | 760 | kfree(transaction); |
757 | } | 761 | } |