From: Stephen Hemminger <stephen@networkplumber.org>
To: Anton Gary Ceph <agaceph@gmail.com>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] net: improve ipv4 performances
Date: Sun, 1 Apr 2018 11:50:44 -0700 [thread overview]
Message-ID: <20180401115044.17f7ccb4@xeon-e3> (raw)
In-Reply-To: <20180401183121.13022-1-agaceph@gmail.com>
On Sun, 1 Apr 2018 20:31:21 +0200
Anton Gary Ceph <agaceph@gmail.com> wrote:
> As the Linux networking stack is growing, more and more protocols are
> added, increasing the complexity of stack itself.
> Modern processors, contrary to common belief, are very bad in branch
> prediction, so it's our task to give hints to the compiler when possible.
>
> After a few profiling and analysis, turned out that the ethertype field
> of the packets has the following distribution:
>
> 92.1% ETH_P_IP
> 3.2% ETH_P_ARP
> 2.7% ETH_P_8021Q
> 1.4% ETH_P_PPP_SES
> 0.6% don't know/no opinion
>
> From a projection on statistics collected by Google about IPv6 adoption[1],
> IPv6 should peak at 25% usage at the beginning of 2030. Hence, we should
> give proper hints to the compiler about the low IPv6 usage.
>
> Here is an iperf3 run before and after the patch:
>
> Before:
> [ ID] Interval Transfer Bandwidth Retr
> [ 4] 0.00-100.00 sec 100 GBytes 8.60 Gbits/sec 0 sender
> [ 4] 0.00-100.00 sec 100 GBytes 8.60 Gbits/sec receiver
>
> After
> [ ID] Interval Transfer Bandwidth Retr
> [ 4] 0.00-100.00 sec 109 GBytes 9.35 Gbits/sec 0 sender
> [ 4] 0.00-100.00 sec 109 GBytes 9.35 Gbits/sec receiver
>
> [1] https://www.google.com/intl/en/ipv6/statistics.html
>
> Signed-off-by: Anton Gary Ceph <agaceph@gmail.com>
I am surprised it makes that much of an impact.
It would be easier to manage future bisection if the big patch
was split into several pieces. Bridge, bonding, netfilter, etc.
There doesn't appear to be any direct cross dependencies.
next prev parent reply other threads:[~2018-04-01 18:50 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-01 18:31 [PATCH] net: improve ipv4 performances Anton Gary Ceph
2018-04-01 18:50 ` Stephen Hemminger [this message]
2018-04-02 0:51 ` Md. Islam
2018-04-02 4:49 ` Eric Dumazet
2018-04-02 7:57 ` kbuild test robot
2018-04-03 14:18 ` Douglas Caetano dos Santos
2018-04-04 12:34 ` Paolo Abeni
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=20180401115044.17f7ccb4@xeon-e3 \
--to=stephen@networkplumber.org \
--cc=agaceph@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).