From: Jens Axboe <axboe@suse.de>
To: linux-kernel@vger.kernel.org
Subject: splice status
Date: Thu, 20 Apr 2006 16:29:03 +0200 [thread overview]
Message-ID: <20060420142902.GC4717@suse.de> (raw)
Hi,
Since a lot of splice/tee stuff has been merged, I thought I'd post a
little status report and other potentially useful info.
- splice interfaces should be stable now, I don't envision any further
changes to the ->splice_read or ->splice_write file_operations hooks
or the splice syscall. splice now accepts an input or output offset
like sendfile(), so it doesn't have to rely on ->f_pos in the file
structure.
- Ditto for the sys_tee syscall.
- sendfile() will be replaced with splice(). sys_sendfile will remain of
course, this is only an internal thing. The current do_splice_direct()
is a sendfile() helper. The splice branch in the block git repo has
a patch to remove generic_file_sendfile() and all it's users by
converting them to ->splice_read(). There's also a patch there that
fixes up loop. The only remaining users of the file_operations
.sendfile hook are nfds/shmem/ext2-xip/relay. That still needs doing.
The current plan is to merge this stuff post 2.6.17.
I have a little collection of splice test tools that people may find
useful to play with this stuff. It's in a git repo here:
git://brick.kernel.dk/data/git/splice.git
and snapshots are generated every hour on changes and can be fetched
from
http://brick.kernel.dk/snaps/
There are tools there to test both splice and tee, a little README
explains the basic principle of them. I'd appreciate people testing and
playing with these tools, just in case we still have some bugs lurking.
Finally, known bugs:
- Some smallish splice reads are buggy. Patch is in splice branch and
will hopefully be merged whenever Linus gets in front of his computer.
- The ->splice_pipe cache needs to be initialized to NULL on forks. Only
affects do_splice_direct() usage, so not a problem in current kernels.
Patch also Linus bound today.
--
Jens Axboe
next reply other threads:[~2006-04-20 14:37 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-20 14:29 Jens Axboe [this message]
2006-04-20 22:31 ` splice status - git clone failed Piet Delaney
2006-04-21 6:49 ` Jens Axboe
2006-04-20 23:00 ` splice status Christoph Hellwig
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=20060420142902.GC4717@suse.de \
--to=axboe@suse.de \
--cc=linux-kernel@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