All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Dumazet <eric.dumazet@gmail.com>
To: Alexei Starovoitov <ast@plumgrid.com>
Cc: Or Gerlitz <gerlitz.or@gmail.com>,
	"David S. Miller" <davem@davemloft.net>,
	Jesper Dangaard Brouer <brouer@redhat.com>,
	Eric Dumazet <edumazet@google.com>,
	John Fastabend <john.r.fastabend@intel.com>,
	Linux Netdev List <netdev@vger.kernel.org>,
	Amir Vadai <amirv@mellanox.com>,
	Or Gerlitz <or.gerlitz@gmail.com>
Subject: Re: [PATCH v2 net-next] mlx4: optimize xmit path
Date: Mon, 29 Sep 2014 11:08:06 -0700	[thread overview]
Message-ID: <1412014086.30721.36.camel@edumazet-glaptop2.roam.corp.google.com> (raw)
In-Reply-To: <CAMEtUuw0UjJuDqSDrK9L-CUWaVdKni1p9cib+VGCOYtBbrCY4Q@mail.gmail.com>

On Mon, 2014-09-29 at 10:46 -0700, Alexei Starovoitov wrote:
> On Sun, Sep 28, 2014 at 9:19 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> >         send_doorbell = !skb->xmit_more || netif_xmit_stopped(ring->tx_queue);
> >
> >         if (ring->bf_enabled && desc_size <= MAX_BF && !bounce &&
> >             !vlan_tx_tag_present(skb) && send_doorbell) {
> 
> This patch is good,
> 
> but I've been thinking more about bf+xmit_more and want
> to double check my understanding in that scenario:
> xmit_more=true will queue descriptors normally and
> the last xmit_more=false packet will write into BF.
> I guess BF suppose to pick up the earlier ones from
> the queue, otherwise the whole thing is broken.
> So if indeed BF can pick up the whole chain, then
> it should be the faster way than doing iowrite32(), right?
> --


Right, this is what my patch is doing.

Say we send a burst of 8 packets.

7 first packets are queued, but no iowrite32() is performed.

final packet is queued, and bf is used to send the doorbell.

With our current stack (net-next), its very easy to check :

Disable tso (ethtool -K eth0 tso off)

Then run netperf -t TCP_RR -H ... -- -r 6000,6000

GSO makes great use of skb->xmit_more right now ;)

(Assuming we do not have GSO preparing hundred of segments out of a
single TSO packet)

  reply	other threads:[~2014-09-29 18:08 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-29 17:46 [PATCH v2 net-next] mlx4: optimize xmit path Alexei Starovoitov
2014-09-29 18:08 ` Eric Dumazet [this message]
  -- strict thread matches above, loose matches on Subject: below --
2014-09-26  0:46 [RFC PATCH net-next] net: pktgen: packet bursting via skb->xmit_more Alexei Starovoitov
2014-09-26  1:20 ` Eric Dumazet
2014-09-26  7:42   ` Eric Dumazet
2014-09-27 20:43     ` Eric Dumazet
2014-09-27 20:55       ` Or Gerlitz
2014-09-27 21:30         ` Eric Dumazet
2014-09-27 22:56           ` [PATCH net-next] mlx4: optimize xmit path Eric Dumazet
2014-09-29  4:19             ` [PATCH v2 " Eric Dumazet
2014-09-30 12:01               ` Amir Vadai
2014-09-30 12:11                 ` Eric Dumazet
2014-10-02  4:35               ` Eric Dumazet
2014-10-02  8:03                 ` Amir Vadai
2014-10-02  8:29                   ` Jesper Dangaard Brouer
2014-10-02  8:57                     ` Amir Vadai
2014-10-02 11:45                   ` Eric Dumazet
2014-10-02 11:56                     ` Amir Vadai
2014-10-02 12:07                       ` Eric Dumazet
2014-10-02 12:45                         ` Amir Vadai

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=1412014086.30721.36.camel@edumazet-glaptop2.roam.corp.google.com \
    --to=eric.dumazet@gmail.com \
    --cc=amirv@mellanox.com \
    --cc=ast@plumgrid.com \
    --cc=brouer@redhat.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=gerlitz.or@gmail.com \
    --cc=john.r.fastabend@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=or.gerlitz@gmail.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.