Re: Trying to measure performance with splice/vmsplice ....

Previous thread: Re: USBIP (staging) driver's dependency on drivers/usb/core internal headers by Alan Stern on Friday, April 23, 2010 - 8:52 am. (4 messages)

Next thread: [PATCH 0/8] lockup detector changes by Don Zickus on Friday, April 23, 2010 - 9:13 am. (14 messages)
From: Rick Sherm
Date: Friday, April 23, 2010 - 9:07 am

Hello Jens - any assistance/pointers on 1) and 2) below 
will be great.I'm willing to test out any sample patch.

Steve,



Agreed,increasing number of calls will offset the benefit.
But what if:
1)We were to increase the PIPE_BUFFERS from '16' to '64' or 'some value'?
What are the implications in the other parts of the kernel?

regards
++Rick



      

--

From: Steven J. Magnani
Date: Friday, April 23, 2010 - 9:54 am

This came up recently, one problem is that there a couple of kernel
functions having up to 3 stack-based arrays of dimension PIPE_BUFFER. So
the stack cost of increasing PIPE_BUFFERS can be quite high. I've
thought it might be nice if there was some mechanism for userland apps
to be able to request larger PIPE_BUFFERS values, but I haven't pursued

It's a neat idea, but it would probably be much easier (and less
invasive) to try this sort of pipelining in userland using a ring buffer
or ping-pong approach. I'm actually in the middle of something like this
with FTP, where I will have a reader thread that puts data from the
network into a ring buffer, from which a writer thread moves it to a
file.

------------------------------------------------------------------------
 Steven J. Magnani               "I claim this network for MARS!
 www.digidescorp.com              Earthling, return my space modulator!"

 #include <standard.disclaimer>


--

From: Jens Axboe
Date: Friday, April 23, 2010 - 10:05 am

I still have patches pending for this, making the pipe buffer count
settable form user space:

http://git.kernel.dk/?p=linux-2.6-block.git;a=commit;h=24547ac4d97bebb58caf9ce58bd507a...

Let me know if you want to give it a spin on a recent kernel, and I'll

See vmsplice.c from the splice test tools:

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

-- 
Jens Axboe

--

Previous thread: Re: USBIP (staging) driver's dependency on drivers/usb/core internal headers by Alan Stern on Friday, April 23, 2010 - 8:52 am. (4 messages)

Next thread: [PATCH 0/8] lockup detector changes by Don Zickus on Friday, April 23, 2010 - 9:13 am. (14 messages)