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,RFC 0/7] Simplify buffered write submissions, part II
Date: Sat, 12 Feb 2011 19:15:50 -0500 [thread overview]
Message-ID: <1297556157-21559-1-git-send-email-tytso@mit.edu> (raw)
This has been a background project I've been working on for the past
couple of weeks. It cleans up middle part of the buffered write pages a
bit. The main features of this patch are:
*) Every single patch removes more lines of code than it adds, with a
net total removal of nearly 100 lines of code from fs/ext4/inode.c
*) The ext4_da_writepages() codepath no longer abuses the
clear_page_dirty_for_io() function, which means we no longer
need to call redirty_page_for_writeback(). This removes
unneeded work, which is goodness.
*) We no longer start journal handles if they are not needed. This
should improve performance and improve SMP scalability on
parallel random write workloads when the journal is enabled
in the best way possible --- don't take locks when they aren't
needed!
There is still more cleanup that needs to be done, but since these
patches should improve performance by themselves, it seems worthwhile
for me to send these out as-is, and ask people to take a look. What do
you guys think?
- Ted
Theodore Ts'o (7):
ext4: fold __mpage_da_writepage() into write_cache_pages_da()
ext4: simple cleanups to write_cache_pages_da()
ext4: clear the dirty bit for a page in writeback at the last minute
ext4: remove page_skipped hackery in ext4_da_writepages()
ext4: don't lock the next page in write_cache_pages if not needed
ext4: move setup of the mpd structure to write_cache_pages_da()
ext4: move ext4_journal_start/stop to mpage_da_map_and_submit()
fs/ext4/ext4.h | 3 +-
fs/ext4/inode.c | 428 +++++++++++++++++++++----------------------------------
2 files changed, 167 insertions(+), 264 deletions(-)
--
1.7.3.1
next reply other threads:[~2011-02-13 0:57 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-13 0:15 Theodore Ts'o [this message]
2011-02-13 0:15 ` [PATCH,RFC 1/7] ext4: fold __mpage_da_writepage() into write_cache_pages_da() Theodore Ts'o
2011-02-13 1:25 ` Josef Bacik
2011-02-13 5:42 ` Ted Ts'o
2011-02-13 12:48 ` Josef Bacik
2011-02-13 0:15 ` [PATCH,RFC 2/7] ext4: simple cleanups to write_cache_pages_da() Theodore Ts'o
2011-02-13 1:31 ` Josef Bacik
2011-02-13 0:15 ` [PATCH,RFC 3/7] ext4: clear the dirty bit for a page in writeback at the last minute Theodore Ts'o
2011-02-13 1:34 ` Josef Bacik
2011-02-13 0:15 ` [PATCH,RFC 4/7] ext4: remove page_skipped hackery in ext4_da_writepages() Theodore Ts'o
2011-02-13 1:36 ` Josef Bacik
2011-02-13 0:15 ` [PATCH,RFC 5/7] ext4: don't lock the next page in write_cache_pages if not needed Theodore Ts'o
2011-02-13 1:38 ` Josef Bacik
2011-02-13 0:15 ` [PATCH,RFC 6/7] ext4: move setup of the mpd structure to write_cache_pages_da() Theodore Ts'o
2011-02-13 1:40 ` Josef Bacik
2011-02-13 0:15 ` [PATCH,RFC 7/7] ext4: move ext4_journal_start/stop to mpage_da_map_and_submit() Theodore Ts'o
2011-02-18 4:23 ` Ted Ts'o
2011-02-18 10:42 ` Amir Goldstein
2011-02-18 11:44 ` Yongqiang Yang
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=1297556157-21559-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).