jbd: don't wake kjournald unnecessarily
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 <sandeen@redhat.com>
Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
parent
b719f43059
commit
7e2fb2d7e6
@ -446,7 +446,8 @@ int __log_start_commit(journal_t *journal, tid_t target)
|
|||||||
* currently running transaction (if it exists). Otherwise,
|
* currently running transaction (if it exists). Otherwise,
|
||||||
* the target tid must be an old one.
|
* 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) {
|
journal->j_running_transaction->t_tid == target) {
|
||||||
/*
|
/*
|
||||||
* We want a new commit: OK, mark the request and wakeup the
|
* We want a new commit: OK, mark the request and wakeup the
|
||||||
|
Loading…
Reference in New Issue
Block a user