netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Steve Modica <modica@sgi.com>
To: netdev@oss.sgi.com
Subject: Re: Zero copy transmit
Date: Tue, 29 Apr 2003 15:09:13 -0500	[thread overview]
Message-ID: <3EAEDBE9.1060405@sgi.com> (raw)
In-Reply-To: <20030429195924.GC349@Wotan.suse.de>



Andi Kleen wrote:
>>At issue is really application capture and customer adoption.  There are
>>tons of apps and lots of engineers that know socket operations and 
>>write/writev.  Asking all ISVs to recode for linux would leave them with 
>>two separate APIs to deal with. They would have send/sendto or 
>>write/writev on Solaris, HPUX and whatever else, and linux would have 
>>sendfile.
> 
> 
> aio_write / lio_listio exists on Solaris and HP/UX too.
> 
> (and even Windows; their completion port interfaces are very similar) 

Right.. although some might say that aio_write is used a lot less often 
than write or send.

It's hard to convince thousands of application writers to revisit stuff 
like this.  It's a lot easier to bring the hardware feature in to the 
APIs that people just commonly use.

> 
> 
>>We really want to do this in such a way that it doesn't create a huge 
>>footprint (and we think we can) and we want to make sure we don't impact 
>>systems that can't take advantage of fast TLB updates.
> 
> 
> So how do you avoid the two TLB flush IPIs to all CPUs that have the current mm
> mapped ?
> 
> -Andi

I could speculate about how we might avoid that, or I could speculate 
that even with those operations, it would still be faster, but I'd 
rather just demonstrate it with a patch.

Don't get me wrong, we would certainly drop any notions of this if we 
found that it was slower and I will be glad to post any results. The 
goal is to take advantage of the hardware to make things faster.

Going back to your example above, don't solaris and hpux also do COW for 
write and send? (I don't have their sources)  If so, why would they do 
it if it's slower?

Steve

-- 
Steve Modica
work: 651-683-3224
mobile: 651-261-3201
Manager - Networking Drivers Group
"Give a man a fish, and he will eat for a day, hit him with a fish and
he leaves you alone" - me

  reply	other threads:[~2003-04-29 20:09 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
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 [this message]
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=3EAEDBE9.1060405@sgi.com \
    --to=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).