From: Theodore Ts'o <tytso@mit.edu>
To: Ext4 Developers List <linux-ext4@vger.kernel.org>
Cc: Theodore Ts'o <tytso@mit.edu>
Subject: [PATCH 0/3 v2] jbd2 performance improvements
Date: Thu, 31 Jan 2013 12:53:05 -0500 [thread overview]
Message-ID: <1359654788-6078-1-git-send-email-tytso@mit.edu> (raw)
I've added a patch which tracks the delay between when a commit was
first requested, and when the commit thread actually starts processing
the commit. In addition to helping to assess the effects of the "commit
as soon as possible after log_start_commit", it is also useful in
debugging problems caused by real time processes which might interfere
with the kjournald thread (since we've had one user ask a question about
this already).
There are other performance metrics that we should consider adding,
including:
*) using a per-cpu variable to track t_max_wait, so we can measure this
performance metric without incurring a scalability penalty; we
currently disable this unless debugging is enabled, which is
unfortunate.
*) how many handles are getting blocked waiting for a transaction to
finish, and not just the max wait time
*) keeping statistics of why various commits have been started (was it
due to an explicit fsync, or due to O_SYNC, or due to the transaction
time expiring --- and in the latter case, whether it is due to an
expiry while the file system was idle, and hence was picked up by
kjournald, or during the stop_this_handle processing)
But these are things we can save for another time...
- Ted
Eric Sandeen (1):
jbd2: don't wake kjournald unnecessarily
Theodore Ts'o (2):
jbd2: commit as soon as possible after log_start_commit
jbd2: track request delay statistics
fs/jbd2/commit.c | 13 ++++++++++++-
fs/jbd2/journal.c | 17 ++++++++++++++---
fs/jbd2/transaction.c | 7 +++++--
include/linux/jbd2.h | 8 ++++++++
include/trace/events/jbd2.h | 8 ++++++--
5 files changed, 45 insertions(+), 8 deletions(-)
--
1.7.12.rc0.22.gcdd159b
next reply other threads:[~2013-01-31 17:53 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-31 17:53 Theodore Ts'o [this message]
2013-01-31 17:53 ` [PATCH 1/3] jbd2: don't wake kjournald unnecessarily Theodore Ts'o
2013-01-31 17:53 ` [PATCH 2/3] jbd2: commit as soon as possible after log_start_commit Theodore Ts'o
2013-02-04 21:02 ` Theodore Ts'o
2013-01-31 17:53 ` [PATCH 3/3] jbd2: track request delay statistics Theodore Ts'o
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1359654788-6078-1-git-send-email-tytso@mit.edu \
--to=tytso@mit.edu \
--cc=linux-ext4@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).