netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andi Kleen <ak@suse.de>
To: Steve Modica <modica@sgi.com>
Cc: netdev@oss.sgi.com
Subject: Re: Zero copy transmit
Date: Tue, 29 Apr 2003 21:20:41 +0200	[thread overview]
Message-ID: <20030429192041.GC17413@Wotan.suse.de> (raw)
In-Reply-To: <3EAEC7FF.4040504@sgi.com>

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

  reply	other threads:[~2003-04-29 19:20 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-29 18:44 Zero copy transmit Steve Modica
2003-04-29 19:20 ` Andi Kleen [this message]
2003-04-29 19:33   ` Robin Holt
2003-04-29 19:41     ` Andi Kleen
2003-04-29 19:41   ` Steve Modica
2003-04-29 19:59     ` Andi Kleen
2003-04-29 20:09       ` Steve Modica
2003-04-29 20:39         ` Andi Kleen
2003-04-30  1:41           ` Michael Richardson
2003-04-30 15:05           ` Robin Holt
2003-04-30 15:29             ` Andi Kleen
2003-04-29 20:17     ` 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=20030429192041.GC17413@Wotan.suse.de \
    --to=ak@suse.de \
    --cc=modica@sgi.com \
    --cc=netdev@oss.sgi.com \
    /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;
as well as URLs for NNTP newsgroup(s).