All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shlomo Pongartz <shlomop@mellanox.com>
To: Rick Jones <rick.jones2@hp.com>
Cc: Eric Dumazet <eric.dumazet@gmail.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: GRO aggregation
Date: Thu, 13 Sep 2012 09:36:49 +0300	[thread overview]
Message-ID: <50517F01.9050501@mellanox.com> (raw)
In-Reply-To: <5050BDB5.8090200@hp.com>

On 9/12/2012 7:52 PM, Rick Jones wrote:
> On 09/12/2012 09:34 AM, Shlomo Pongartz wrote:
>> On 9/12/2012 7:23 PM, Rick Jones wrote:
>>> On 09/12/2012 07:41 AM, Shlomo Pongartz wrote:
>>>> Hi Eric
>>>>
>>>> The TSO is just a mean to create a burst of frames on the wire so the
>>>> NAPI will be able to pool as much as possible.
>>>
>>> Is it?  If I recall correctly, TSO was in place well before all
>>> drivers were using NAPI.  And NAPI was being proposed independent of
>>> TSO. TSO is there to save CPU cycles on the transmit side. "On the
>>> wire" what it sends is to be identical to what a host with greater CPU
>>> performance could accomplish.
>>>
>>> rick jones
>>>
>> Hi Rick.
>>
>> What I say is that I use TSO on the machine that transmits so I'll have
>> a burst of frames on the wire for the NAPI on the receiver machine.
>
> Also, NAPI was in place before GRO.  IIRC, the napi code was simply a 
> convenient/correct/natural place to have the GRO functionality.
>
> rick jones
>
Hi Rick

The thing is that napi_complete calls napi_gro_flush so this pose a 
limit on the aggregation.
However when I count the number of packets received until this routine 
is been called, I get a number,
which is bigger then what I see with tcpdump, and this number is less 
than what is expected if the limit is 64K.
So I what to know what can I do in order to improve things, e.g. 
allocate the skb differently.

Shlomo

  reply	other threads:[~2012-09-13  6:37 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-11 13:45 GRO aggregation Shlomo Pongartz
2012-09-11 18:20 ` Marcelo Ricardo Leitner
2012-09-11 18:41   ` Shlomo Pongratz
2012-09-11 18:48     ` Marcelo Ricardo Leitner
2012-09-11 18:51       ` Shlomo Pongratz
2012-09-11 18:33 ` Eric Dumazet
2012-09-11 18:49   ` Shlomo Pongratz
2012-09-11 19:01     ` Eric Dumazet
2012-09-11 19:24       ` Shlomo Pongratz
2012-09-11 19:35         ` David Miller
2012-09-11 19:35         ` Eric Dumazet
2012-09-12  9:23           ` Shlomo Pongartz
2012-09-12  9:33             ` Eric Dumazet
2012-09-12 14:41               ` Shlomo Pongartz
2012-09-12 16:23                 ` Rick Jones
2012-09-12 16:34                   ` Shlomo Pongartz
2012-09-12 16:52                     ` Rick Jones
2012-09-13  6:36                       ` Shlomo Pongartz [this message]
2012-09-13  8:11                         ` Eric Dumazet
2012-09-13  9:59                           ` Or Gerlitz
2012-09-13 12:05                             ` Eric Dumazet
2012-09-13 12:34                               ` Eric Dumazet
2012-09-13 12:47                               ` Or Gerlitz
2012-09-13 13:22                                 ` Eric Dumazet

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=50517F01.9050501@mellanox.com \
    --to=shlomop@mellanox.com \
    --cc=eric.dumazet@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=rick.jones2@hp.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.