netdev
[Top] [All Lists]

Re: Zero copy transmit

To: Steve Modica <modica@xxxxxxx>
Subject: Re: Zero copy transmit
From: Andi Kleen <ak@xxxxxxx>
Date: Tue, 29 Apr 2003 21:20:41 +0200
Cc: netdev@xxxxxxxxxxx
In-reply-to: <3EAEC7FF.4040504@sgi.com>
References: <3EAEC7FF.4040504@sgi.com>
Sender: netdev-bounce@xxxxxxxxxxx
On Tue, Apr 29, 2003 at 01:44:15PM -0500, Steve Modica wrote:
> We are doing some experiementing with Altix systems (Itanium II with
> NUMA) and we're taking a big hit from __copy_user traffic.  We would
> like to modify the write, writev, send and sendto interfaces such that
> we can avoid the __copy_user call by marking pages copy-on-write (COW)
> and handing them off to be transmitted.  Since this requires TLB 
> updates, we would only implement this code on platforms that defined 
> themselves as capable of fast TLB updates.

A much better way would be to use the POSIX aio interfaces. They support
zero copy transmit, but don't require COW. Instead they just tell
the user process when it is safe to touch the buffer again.

There was already some code to do aio TCP sending, but it didn't
do zero copy and was not merged for some reason.

Also you can already do zero copy transmit using sendfile() 

Linux basically has all the infrastructure you need for this already;
just the high level interface to the AIO system calls is still missing.

-Andi


<Prev in Thread] Current Thread [Next in Thread>