Re: disk IO directly from PCI memory to block device sectors

From: Jens Axboe
Date: Thu Oct 02 2008 - 12:32:34 EST


On Thu, Oct 02 2008, Leon Woestenberg wrote:
> Hello Jens,
>
> On Wed, Oct 1, 2008 at 9:05 PM, Jens Axboe <jens.axboe@xxxxxxxxxx> wrote:
> > On Mon, Sep 29 2008, Jens Axboe wrote:
> >> On Fri, Sep 26 2008, Leisner, Martin wrote:
> >> IMHO, this interface totally rocks. It's really async like splice was
> >
> > Alright, so this one actually works :-)
> > Apart from fixing the bugs in it, it's also more clever in using the bio
> > for the write part. It'll reuse the same bio in the splice actor until
> > it's full, only then submitting it and allocating a new one. The read
> > part works the same way.
> >
> I have been following this thread trying to grasp a very nifty use
> case (high speed acquisition and storage of data) of splice.
>
> I think it would make a perfect example of splice functionality.
>
> What would the user space part look like to exercise this interface?

Download:

http://brick.kernel.dk/snaps/splice-git-latest.tar.gz

which has lots of little examples for splice. You would want to do
something ala

# splice-in /dev/my-pci-device | splice-out /dev/sda

in one app of course, but take a look at the examples and get a feel for
the interface...

BTW, in my splice branch I have this queued as well. Not going anywhere
for now, but should get updated and tested every now and then.

http://git.kernel.dk/?p=linux-2.6-block.git;a=shortlog;h=refs/heads/splice

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/