From: Eric Dumazet <eric.dumazet@gmail.com>
To: "Hans Schillström" <hans.schillstrom@ericsson.com>
Cc: netdev <netdev@vger.kernel.org>,
Jesper Dangaard Brouer <brouer@redhat.com>,
David Miller <davem@davemloft.net>,
Neal Cardwell <ncardwell@google.com>,
Tom Herbert <therbert@google.com>
Subject: RE: [PATCH] tcp: do not create inetpeer on SYNACK message
Date: Sat, 02 Jun 2012 08:56:56 +0200 [thread overview]
Message-ID: <1338620216.2760.1677.camel@edumazet-glaptop> (raw)
In-Reply-To: <C8A6796DE7C66C4ABCBC18106CB6C1CC164D13A516@ESESSCMS0356.eemea.ericsson.se>
On Fri, 2012-06-01 at 23:34 +0200, Hans Schillström wrote:
> It think we are on the right way now,
>
> Some results from one of our testers:
> before applying "reflect SYN queue_mapping into SYNACK"
>
> "(The latest one from Eric is not included. I am building with
> that one right now.)
> Results were that with the same number of SYN/s, load went down
> 30% on each of the three Cpus that were handling the SYNs.
> Great !!!"
>
I am not sure reflecting queue_mapping will help your workload, since
you specifically asked to your NIC to queue all SYN packets on one
single queue.
Eventually not relying on skb->queue_mapping but skb->rxhash to chose an
outgoing queue for the SYNACKS to not harm a single tx queue ?
Then it might be not needed, if the queue is dedicated to SYN and SYNACK
packets, since net_rx_action/net_tx_action should both dequeue 64
packets each round, in a round robin fashion.
(I had problems in a standard setup, where you can have a single cpu
(CPU0 in my case) servicing all NAPI interrupts, so with 16 queues, the
rx_action/tx_action ratio is 16/1 if all synack go to a single queue,
while SYN are distributed to all 16 rx queues)
> I'm looking forward to see the results of the latests patch.
>
> Then I think conntrack need a little shape up, like a "mini-conntrack"
> it is way to expensive to alloc a full "coontack for every SYN.
>
> I have a bunch of patches and ideas for that...
>
Cool ! the conntrack issue is a real one for sure.
Given the conntrack current requirement (being protected by a central
lock), I guess your best bet would be following setup :
One single CPU to handle all SYN packets.
Eventually not relying on skb->queue_mapping but skb->rxhash to chose an
outgoing queue for the SYNACKS to not harm a single tx queue.
> Thanks Eric for a great job
>
Thanks for giving testing results and ideas !
next prev parent reply other threads:[~2012-06-02 6:57 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-31 21:56 [PATCH net-next] tcp: avoid tx starvation by SYNACK packets Eric Dumazet
2012-05-31 23:03 ` David Miller
2012-06-01 4:48 ` Eric Dumazet
2012-06-01 17:46 ` David Miller
2012-06-01 7:00 ` [PATCH] tcp: do not create inetpeer on SYNACK message Eric Dumazet
2012-06-01 18:24 ` David Miller
2012-06-01 21:34 ` Hans Schillström
2012-06-02 6:56 ` Eric Dumazet [this message]
2012-06-01 7:36 ` [PATCH net-next] tcp: avoid tx starvation by SYNACK packets Hans Schillstrom
2012-06-01 9:34 ` Eric Dumazet
2012-06-02 1:28 ` Dave Taht
2012-06-02 5:46 ` Eric Dumazet
2012-06-23 7:34 ` Vijay Subramanian
2012-06-23 8:42 ` [PATCH v2 " Eric Dumazet
2012-06-25 6:24 ` Hans Schillstrom
2012-06-25 22:43 ` David Miller
2012-06-26 4:51 ` Eric Dumazet
2012-06-26 4:55 ` David Miller
2012-06-26 5:34 ` Hans Schillstrom
2012-06-26 7:11 ` David Miller
2012-06-26 7:27 ` Hans Schillstrom
2012-06-26 17:02 ` Eric Dumazet
2012-06-27 5:23 ` Hans Schillstrom
2012-06-27 8:22 ` David Miller
2012-06-27 8:25 ` Jesper Dangaard Brouer
2012-06-27 8:30 ` Hans Schillstrom
2012-06-27 8:40 ` Eric Dumazet
2012-06-27 8:48 ` David Miller
2012-06-27 6:32 ` Jesper Dangaard Brouer
2012-06-27 6:54 ` David Miller
2012-06-27 7:24 ` Jesper Dangaard Brouer
2012-06-27 7:30 ` Eric Dumazet
2012-06-27 7:54 ` Jesper Dangaard Brouer
2012-06-27 8:02 ` Eric Dumazet
2012-06-27 8:21 ` Jesper Dangaard Brouer
2012-06-27 8:45 ` Eric Dumazet
2012-06-27 9:23 ` Jesper Dangaard Brouer
2012-06-27 8:13 ` David Miller
2012-06-27 19:50 ` Florian Westphal
2012-06-27 21:39 ` Eric Dumazet
2012-06-27 22:23 ` David Miller
2012-06-27 22:23 ` David Miller
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=1338620216.2760.1677.camel@edumazet-glaptop \
--to=eric.dumazet@gmail.com \
--cc=brouer@redhat.com \
--cc=davem@davemloft.net \
--cc=hans.schillstrom@ericsson.com \
--cc=ncardwell@google.com \
--cc=netdev@vger.kernel.org \
--cc=therbert@google.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