public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <andrewm@uow.edu.au>
To: "David S. Miller" <davem@redhat.com>
Cc: lkml <linux-kernel@vger.kernel.org>,
	"netdev@oss.sgi.com" <netdev@oss.sgi.com>
Subject: Re: sendfile+zerocopy: fairly sexy (nothing to do with ECN)
Date: Tue, 30 Jan 2001 23:44:29 +1100	[thread overview]
Message-ID: <3A76B72D.2DD3E640@uow.edu.au> (raw)
In-Reply-To: <3A728475.34CF841@uow.edu.au>, <3A726087.764CC02E@uow.edu.au> <20010126222003.A11994@vitelus.com> <3A728475.34CF841@uow.edu.au> <14966.22671.446439.838872@pizda.ninka.net>

"David S. Miller" wrote:
> 
> The "more expensive" write/send in zerocopy is a known cost of paged
> SKBs.  This cost may be decreased a bit with some fine tuning, but not
> eliminated entirely.

Can you say what causes the difference?  I had a brief poke
around - generic_copy_from_user() dominates in both cases
of course, but nothing really stood out when comparing the
zerocopy kernel's profile with non-zc.

Varying the value of MAXPGS (all the way down to 1) and also
the amount of data which is sent with send() does change the
throughput, but not the ratio wrt non-zc.

> What do we get for this cost?
> 
> Basically, the big win is not that the card checksums the packet.
> We could get that for free while copying the data from userspace
> into the kernel pages during the sendmsg(), using the combined
> "copy+checksum" hand-coded assembly routines we already have.
> 
> It is in fact the better use of memory.  Firstly, we use page
> allocations, only single ones.  With linear buffers SLAB could
> use multiple pages which strain the memory subsystem quite a bit at
> times.  Secondly, we fill pages with socket data precisely whereas
> SLAB can only get as tight packing as any general purpose memory
> allocator can.
> 
> This, I feel, outweighs the slight performance decrease.  And I would
> wager a bet that the better usage of memory will result in better
> all around performance.

ie: inappropriate test coverage.  Not surprising.  What
additional scenarios need to be tested?  Zillions of
connections?

If anyone really needs that 10% they can use the `hw_checksums=0'
module parm, but SG+xsum is enabled by default - we need the testing.

> The problem with microscopic tests is that you do not see the world
> around the thing being focused on.  I feel Andrew/Jamal's test are
> very valuable, but lets keep things in perspective when doing cost
> analysis.
> 
> Finally, please do some tests on loopback.  It is usually a great
> way to get "pure software overhead" measurements of our TCP stack.

Will do.

BTW: can you suggest why I'm not observing any change in NFS client
efficiency?

-
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

  reply	other threads:[~2001-01-30 12:37 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-01-27  5:45 sendfile+zerocopy: fairly sexy (nothing to do with ECN) Andrew Morton
2001-01-27  6:20 ` Aaron Lehmann
2001-01-27  8:19   ` Andrew Morton
2001-01-27 10:09     ` Ion Badulescu
2001-01-27 10:45       ` Andrew Morton
2001-01-30  6:00     ` David S. Miller
2001-01-30 12:44       ` Andrew Morton [this message]
2001-01-30 12:52         ` David S. Miller
2001-01-30 14:58           ` Andrew Morton
2001-01-30 17:49             ` Chris Wedgwood
2001-01-30 22:17               ` David S. Miller
2001-01-31  0:31                 ` Chris Wedgwood
2001-01-31  0:45                   ` David S. Miller
2001-01-30 22:28             ` David S. Miller
2001-01-30 23:34               ` Andrew Morton
2001-02-02 10:12       ` Andrew Morton
2001-02-02 12:14         ` Trond Myklebust
2001-02-02 17:51         ` David Lang
2001-02-02 22:46           ` David S. Miller
2001-02-02 22:57             ` David Lang
2001-02-02 23:09               ` David S. Miller
2001-02-02 23:13                 ` David Lang
2001-02-02 23:28                   ` Jeff Barrow
2001-02-02 23:31                   ` David S. Miller
2001-02-03  2:27               ` James Sutherland
2001-01-27 10:05 ` Ion Badulescu
2001-01-27 10:39   ` Andrew Morton
2001-01-27 12:49   ` jamal
2001-01-30  1:06     ` Ion Badulescu
2001-01-30  2:48       ` jamal
2001-01-30  3:26         ` Ion Badulescu
2001-01-31  0:53           ` Still not sexy! (Re: " jamal
2001-01-31  0:59             ` Ingo Molnar
2001-01-31  1:04               ` jamal
2001-01-31  1:14                 ` Ingo Molnar
2001-01-31  1:39                   ` jamal
2001-01-31 11:21                   ` Malcolm Beattie
2001-01-31 11:24                     ` Ingo Molnar
2001-01-31  1:10             ` Still not sexy! (Re: sendfile+zerocopy: fairly sexy (nothing to dowith ECN) Rick Jones
2001-01-31  1:45               ` jamal
2001-01-31  2:25                 ` Still not sexy! (Re: sendfile+zerocopy: fairly sexy (nothing todowith ECN) Rick Jones
2001-02-04 19:48                   ` jamal
2001-02-05  5:13                     ` David S. Miller
2001-02-05 18:51                     ` Rick Jones
2001-01-27 12:43 ` sendfile+zerocopy: fairly sexy (nothing to do with ECN) jamal
2001-01-27 13:29   ` Andrew Morton
2001-01-27 14:15     ` jamal
2001-01-28 16:05       ` Andrew Morton
2001-01-29 18:50   ` Rick Jones
     [not found] ` <200101271854.VAA02845@ms2.inr.ac.ru>
2001-01-28  5:34   ` Andrew Morton
2001-01-28 13:37     ` Felix von Leitner
2001-01-28 14:11       ` Dan Hollis
2001-01-28 14:27       ` Andi Kleen
2001-01-29 21:50         ` Pavel Machek
2001-01-28 19:43       ` Gregory Maxwell
2001-01-28 19:48       ` Choosing Linux NICs (was: Re: sendfile+zerocopy: fairly sexy (nothing to do with ECN)) Felix von Leitner
  -- strict thread matches above, loose matches on Subject: below --
2001-01-29 16:16 sendfile+zerocopy: fairly sexy (nothing to do with ECN) Jonathan Earle
2001-01-29 16:34 ` Antonin Kral
2001-01-31  1:49 Bernd Eckenfels

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=3A76B72D.2DD3E640@uow.edu.au \
    --to=andrewm@uow.edu.au \
    --cc=davem@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --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