From: Arne Jansen <sensille@gmx.net>
To: chris.mason@oracle.com, linux-btrfs@vger.kernel.org
Subject: [PATCH v1 0/5] btrfs: generic readeahead interface
Date: Mon, 23 May 2011 14:59:03 +0200 [thread overview]
Message-ID: <cover.1306154794.git.sensille@gmx.net> (raw)
This series introduces a generic readahead interface for btrfs trees.
The intention is to use it to speed up scrub in a first run, but balance
is another hot candidate. In general, every tree walk could be accompanied
by a readahead. Deletion of large files comes to mind, where the fetching
of the csums takes most of the time.
To make testing easier, a simple ioctl interface is added to trigger a read-
ahead from user mode. It also implements a tree walk in the traditional way.
A tool to send the ioctl follows shortly.
A simple demonstration from my 7-disk test btrfs:
- enumerating the extent tree (traditional): 351s
- enumerating the extent tree (readahead): 41s
- enumerating extents+csum tree (readahead): 49s
The implementation is also tested with this tool in various combinations of
parallel reads of the same and of different trees.
Arne Jansen (5):
btrfs: add READAHEAD extent state
btrfs: state information for readahead
btrfs: initial readahead code and prototypes
btrfs: hooks for readahead
btrfs: test ioctl for readahead
fs/btrfs/Makefile | 2 +-
fs/btrfs/ctree.h | 13 +
fs/btrfs/disk-io.c | 56 +++
fs/btrfs/disk-io.h | 2 +
fs/btrfs/extent_io.c | 12 +-
fs/btrfs/extent_io.h | 1 +
fs/btrfs/ioctl.c | 86 +++++-
fs/btrfs/ioctl.h | 16 +
fs/btrfs/reada.c | 963 ++++++++++++++++++++++++++++++++++++++++++++++++++
fs/btrfs/volumes.c | 8 +
fs/btrfs/volumes.h | 8 +
11 files changed, 1163 insertions(+), 4 deletions(-)
create mode 100644 fs/btrfs/reada.c
--
1.7.3.4
next reply other threads:[~2011-05-23 12:59 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-23 12:59 Arne Jansen [this message]
2011-05-23 12:59 ` [PATCH v1 1/5] btrfs: add READAHEAD extent state Arne Jansen
2011-05-23 12:59 ` [PATCH v1 2/5] btrfs: state information for readahead Arne Jansen
2011-05-25 5:22 ` liubo
2011-05-24 6:48 ` Arne Jansen
2011-05-23 12:59 ` [PATCH v1 3/5] btrfs: initial readahead code and prototypes Arne Jansen
2011-05-26 10:14 ` David Sterba
2011-05-26 10:47 ` Miao Xie
2011-05-26 11:02 ` Arne Jansen
2011-05-23 12:59 ` [PATCH v1 4/5] btrfs: hooks for readahead Arne Jansen
2011-05-23 12:59 ` [PATCH v1 5/5] btrfs: test ioctl " Arne Jansen
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=cover.1306154794.git.sensille@gmx.net \
--to=sensille@gmx.net \
--cc=chris.mason@oracle.com \
--cc=linux-btrfs@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.