Skip to content

Commit

Permalink
jbd: don't wake kjournald unnecessarily
Browse files Browse the repository at this point in the history
Don't send an extra wakeup to kjournald in the case where we
already have the proper target in j_commit_request, i.e. that
commit has already been requested for commit.

commit d9b0193 "jbd: fix fsync() tid wraparound bug" changed
the logic leading to a wakeup, but it caused some extra wakeups
which were found to lead to a measurable performance regression.

Signed-off-by: Eric Sandeen <[email protected]>
Signed-off-by: Jan Kara <[email protected]>
  • Loading branch information
Eric Sandeen authored and jankara committed Jan 14, 2013
1 parent b719f43 commit 7e2fb2d
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion fs/jbd/journal.c
Original file line number Diff line number Diff line change
Expand Up @@ -446,7 +446,8 @@ int __log_start_commit(journal_t *journal, tid_t target)
* currently running transaction (if it exists). Otherwise,
* the target tid must be an old one.
*/
if (journal->j_running_transaction &&
if (journal->j_commit_request != target &&
journal->j_running_transaction &&
journal->j_running_transaction->t_tid == target) {
/*
* We want a new commit: OK, mark the request and wakeup the
Expand Down

0 comments on commit 7e2fb2d

Please sign in to comment.