* [RFC PATCH 00/03] Btrfs Direct I/O for .34 maybe
@ 2010-01-19 21:58 jim owens
0 siblings, 0 replies; only message in thread
From: jim owens @ 2010-01-19 21:58 UTC (permalink / raw)
To: linux-btrfs
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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2010-01-19 21:58 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-19 21:58 [RFC PATCH 00/03] Btrfs Direct I/O for .34 maybe jim owens
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.