2003-01-28 01:36:16

by Stanley Yee

[permalink] [raw]
Subject: sendfile support in linux

I'm trying to find out more about sendfile(2). So far, from what I've
gathered, it sounds like the requirements for it are (please correct me if
I'm wrong):

1. A kernel with sendfile support (i.e. 2.4.X)
2. A network card capable of doing the TCP checksum in the hardware
3. The application must support sendfile

Do you know what applications support zerocopy (sendfile)? I noticed that a
zerocopy NFS patch was added to the 2.5.x tree. Does the 2.4.X NFS daemon
support zerocopy? Does samba support zerocopy and if so what version?

Only me,
Stanley Yee

-----Original Message-----
From: Gianni Tedesco [mailto:[email protected]]
Sent: Thursday, January 23, 2003 1:14 AM
To: Stanley Yee
Cc: Linux Kernel Mailing List
Subject: Re: Zero copy in 2.4 kernels


On Wed, 2003-01-22 at 01:48, Stanley Yee wrote:
> Is the zero copy function enabled by default in the 2.4.X kernels? If so
> which kernel version and what do I need to do to enable it? Thanks for
your
> time.

sendfile(2) does zero-copy writes from files to sockets, works on any
version of 2.4 AFAIK.

HTH

--
// Gianni Tedesco (gianni at scaramanga dot co dot uk)
lynx --source http://www.scaramanga.co.uk/gianni-at-ecsc.asc | gpg --import
8646BE7D: 6D9F 2287 870E A2C9 8F60 3A3C 91B5 7669 8646 BE7D


2003-01-28 09:22:23

by Gianni Tedesco

[permalink] [raw]
Subject: Re: sendfile support in linux

On Tue, 2003-01-28 at 01:45, Stanley Yee wrote:
> I'm trying to find out more about sendfile(2). So far, from what I've
> gathered, it sounds like the requirements for it are (please correct me if
> I'm wrong):
>
> 1. A kernel with sendfile support (i.e. 2.4.X)
> 2. A network card capable of doing the TCP checksum in the hardware
> 3. The application must support sendfile

Those are the user requirements yes. Of course the programmer only needs
to assume (1) to start writing applications. Oh and its probably worth
mentioning:

4. You can't do zero-copy receive.

> Do you know what applications support zerocopy (sendfile)? I noticed that a
> zerocopy NFS patch was added to the 2.5.x tree. Does the 2.4.X NFS daemon
> support zerocopy? Does samba support zerocopy and if so what version?

Samba, tux2, apache?, all the big stuff.

Dunno about NFS.

--
// Gianni Tedesco (gianni at scaramanga dot co dot uk)
lynx --source http://www.scaramanga.co.uk/gianni-at-ecsc.asc | gpg --import
8646BE7D: 6D9F 2287 870E A2C9 8F60 3A3C 91B5 7669 8646 BE7D


Attachments:
signature.asc (189.00 B)
This is a digitally signed message part

2003-01-28 13:06:40

by jlnance

[permalink] [raw]
Subject: Re: sendfile support in linux

On Mon, Jan 27, 2003 at 05:45:20PM -0800, Stanley Yee wrote:
> I'm trying to find out more about sendfile(2). So far, from what I've
> gathered, it sounds like the requirements for it are (please correct me if
> I'm wrong):
>
> 1. A kernel with sendfile support (i.e. 2.4.X)
> 2. A network card capable of doing the TCP checksum in the hardware
> 3. The application must support sendfile

I believe that 2 is only necessary for zero-copy sendfile. The system
call will work regardless of whether the network card does the TCP
checksum or not.

Thanks,

Jim

2003-01-28 17:13:29

by Oliver Xymoron

[permalink] [raw]
Subject: Re: sendfile support in linux

On Mon, Jan 27, 2003 at 05:45:20PM -0800, Stanley Yee wrote:
> I'm trying to find out more about sendfile(2). So far, from what I've
> gathered, it sounds like the requirements for it are (please correct me if
> I'm wrong):
>
> 1. A kernel with sendfile support (i.e. 2.4.X)
> 2. A network card capable of doing the TCP checksum in the hardware
> 3. The application must support sendfile

Don't confuse sendfile with zerocopy. You generally need to use
sendfile to take advantage of zerocopy, but you can still get
advantages from sendfile without having hardware support, mainly in
terms of reducing syscall overhead. And without sendfile, you can
still get performance benefits from zerocopy..

> Do you know what applications support zerocopy (sendfile)? I noticed that a
> zerocopy NFS patch was added to the 2.5.x tree. Does the 2.4.X NFS daemon
> support zerocopy? Does samba support zerocopy and if so what version?

Sendfile is mostly used by webservers. You can check the Samba
changelogs for when they started using sendfile. And 2.4 NFS doesn't
use zerocopy, AFAIK.

--
"Love the dolphins," she advised him. "Write by W.A.S.T.E.."