• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: TSO / LSO
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: TSO / LSO


  • Subject: Re: TSO / LSO
  • From: Andrew Gallatin <email@hidden>
  • Date: Tue, 2 Jan 2007 14:17:31 -0500 (EST)

Ed Wynne writes:
 >
 > On Jan 2, 2007, at 1:39 PM, Andrew Gallatin wrote:
 >
 > > The payoff is pretty large.  For the 10GbE NIC I do drivers for, we
 > > went from sending at ~2Gb/s to ~8Gb/s when using a 1500 byte MTU on a
 > > fairly wimpy 1.8GHz single CPU AMD64 when I implemented TSO support
 > > in our FreeBSD driver.
 >
 > Do you have any numbers on the before / after CPU consumption? Doing
 > more while using less power appears to be all the rage these days.
 > Even better is doing the same thing while using a fraction of the
 > power. If through put isn't enough of a motivator, perhaps a little
 > extra battery life...

I don't remember the FreeBSD CPU utilization off the top of my head.
I'm pretty sure it was maxed in both cases.  But your point is
valid -- the speedup comes mostly from a reduction in CPU usage.
This is more clear under linux, which can actually max the link
with some idle time.

The same machine running linux goes from maxing the link using 32% CPU
to a maxed-out CPU and 5Gbs when TSO is disabled.  Eg:

<2:12pm>venice/gallatin:linux>netperf242 -Hrome-my -tTCP_SENDFILE -F /var/tmp/zot -T0,1 -c -C
TCP SENDFILE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to rome-my (192.168.1.16) port 0 AF_INET : cpu bind
Recv   Send    Send                          Utilization       Service Demand
Socket Socket  Message  Elapsed              Send     Recv     Send    Recv
Size   Size    Size     Time     Throughput  local    remote   local   remote
bytes  bytes   bytes    secs.    10^6bits/s  % S      % S      us/KB   us/KB

 87380  65536  65536    10.01      9430.47   31.99    73.93    0.278   1.284
<2:12pm>venice/gallatin:linux>sudo ethtool -K eth1 tso off
<2:12pm>venice/gallatin:linux>netperf242 -Hrome-my -tTCP_SENDFILE -F /var/tmp/zot -T0,1 -c -C
TCP SENDFILE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to rome-my (192.168.1.16) port 0 AF_INET : cpu bind
Recv   Send    Send                          Utilization       Service Demand
Socket Socket  Message  Elapsed              Send     Recv     Send    Recv
Size   Size    Size     Time     Throughput  local    remote   local   remote
bytes  bytes   bytes    secs.    10^6bits/s  % S      % S      us/KB   us/KB

 87380  65536  65536    10.00      5008.09   99.90    46.41    1.634   1.518


Drew
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >Re: mbuf_outbound_finalize bug? (From: Terry Lambert <email@hidden>)
 >Re: mbuf_outbound_finalize bug? (From: Josh Graessley <email@hidden>)
 >Re: mbuf_outbound_finalize bug? (From: Andrew Gallatin <email@hidden>)
 >Re: mbuf_outbound_finalize bug? (From: Josh Graessley <email@hidden>)
 >TSO / LSO (From: Andrew Gallatin <email@hidden>)
 >Re: TSO / LSO (From: Ed Wynne <email@hidden>)

  • Prev by Date: Re: TSO / LSO
  • Next by Date: Re: Notification of fork()
  • Previous by thread: Re: TSO / LSO
  • Next by thread: Re: TSO / LSO
  • Index(es):
    • Date
    • Thread