From: jim owens <jowens@hp.com>
To: linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: [RFC PATCH 00/03] Btrfs Direct I/O for .34 maybe
Date: Tue, 19 Jan 2010 16:58:24 -0500 [thread overview]
Message-ID: <4B562B00.3050003@hp.com> (raw)
This is the completed code for direct I/O read. It handles all extent
types, validates checksums, and does retries.
I have tested all the paths (on X86-64) but it needs testing with
automation in a larger setup. If this design is acceptable,
Eric Whitney will run those tests.
The code supports 512-byte-device access, which is one of the reasons
for it being complex. But I believe people expect that so we should
not take the easy way out by limiting it to btrfs block size access.
All completion/checksum/decompression processing occurs in 1 thread
rather than being spread out. This is intentional because that way
directIO scales with multiple users and does not eat all resources.
The code requires use_mm() to permit 2 worker threads to make calls
to get_user_pages_fast(). One worker is the completion reaper. The
other worker is for aio submit so we return control immediately to
the application before any I/O is initiated. The INFO PATCH 02 is
what I sent to Andrew Morton so that btrfs can be built as a module.
I hope the only reason it was not put in 33 is he is waiting for
a caller (my code) that needs it.
All of my previous patches except the one I retracted are required
to use this code if anyone wants to try it.
I'm ready for comments, questions, insults, whatever.
jim
reply other threads:[~2010-01-19 21:58 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=4B562B00.3050003@hp.com \
--to=jowens@hp.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.