From: Jesper Dangaard Brouer <brouer@redhat.com>
To: "Björn Töpel" <bjorn.topel@gmail.com>
Cc: magnus.karlsson@intel.com, alexander.h.duyck@intel.com,
alexander.duyck@gmail.com, john.fastabend@gmail.com, ast@fb.com,
willemdebruijn.kernel@gmail.com, daniel@iogearbox.net,
netdev@vger.kernel.org, "Björn Töpel" <bjorn.topel@intel.com>,
michael.lundkvist@ericsson.com, jesse.brandeburg@intel.com,
anjali.singhai@intel.com, jeffrey.b.shaw@intel.com,
ferruh.yigit@intel.com, qi.z.zhang@intel.com, brouer@redhat.com
Subject: Re: [RFC PATCH 00/24] Introducing AF_XDP support
Date: Fri, 2 Feb 2018 11:31:34 +0100 [thread overview]
Message-ID: <20180202113134.4739ce91@redhat.com> (raw)
In-Reply-To: <20180131135356.19134-1-bjorn.topel@gmail.com>
On Wed, 31 Jan 2018 14:53:32 +0100
Björn Töpel <bjorn.topel@gmail.com> wrote:
> Below are the results in Mpps of the I40E NIC benchmark runs for 64
> byte packets, generated by commercial packet generator HW that is
> generating packets at full 40 Gbit/s line rate.
>
> XDP baseline numbers without this RFC:
> xdp_rxq_info --action XDP_DROP 31.3 Mpps
> xdp_rxq_info --action XDP_TX 16.7 Mpps
>
> XDP performance with this RFC i.e. with the buffer allocator:
> XDP_DROP 21.0 Mpps
> XDP_TX 11.9 Mpps
>
> AF_PACKET V4 performance from previous RFC on 4.14-rc7:
> Benchmark V2 V3 V4 V4+ZC
> rxdrop 0.67 0.73 0.74 33.7
> txpush 0.98 0.98 0.91 19.6
> l2fwd 0.66 0.71 0.67 15.5
My numbers from before:
V4+ZC
rxdrop 35.2 Mpps
txpush 20.7 Mpps
l2fwd 16.9 Mpps
> AF_XDP performance:
> Benchmark XDP_SKB XDP_DRV XDP_DRV_ZC (all in Mpps)
> rxdrop 3.3 11.6 16.9
> txpush 2.2 NA* 21.8
> l2fwd 1.7 NA* 10.4
The numbers on my system are better than your system, and compared to
the my-own before results, the txpush is almost the same, and the gap
between l2fwd is smaller for me.
The surprise is the drop in the 'rxdrop' performance.
XDP_DRV_ZC
rxdrop 22.0 Mpps
txpush 20.9 Mpps
l2fwd 14.2 Mpps
BUT is also seems you have generally slowed down the XDP_DROP results
for i40e:
Before:
sudo ./xdp_bench01_mem_access_cost --dev i40e1
XDP_DROP 35878204 35,878,204 no_touch
After this patchset:
$ sudo ./xdp_bench01_mem_access_cost --dev i40e1
XDP_action pps pps-human-readable mem
XDP_DROP 28992009 28,992,009 no_touch
And if I read data:
sudo ./xdp_bench01_mem_access_cost --dev i40e1 --read
XDP_action pps pps-human-readable mem
XDP_DROP 25107793 25,107,793 read
BTW, see you soon in Brussels (FOSDEM18) ...
--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
LinkedIn: http://www.linkedin.com/in/brouer
$ sudo ./xdpsock --rxdrop --interface=i40e1 --queue=11
[...]
i40e1:11 rxdrop
pps pkts 60.01
rx 22,040,099 1,322,572,352
tx 0 0
$ sudo ./xdpsock --txonly --interface=i40e1 --queue=11
[...]
i40e1:11 txonly
pps pkts 239.03
rx 0 0
tx 20,937,885 5,004,790,500
$ sudo ./xdpsock --l2fwd --interface=i40e1 --queue=11
[...]
i40e1:11 l2fwd
pps pkts 152.02
rx 14,244,719 2,165,460,044
tx 14,244,718 2,165,459,915
My before results:
$ sudo ./bench_all.sh
You might want to change the parameters in ./bench_all.sh
i40e1 cpu5 duration 30s zc 16
i40e1 v2 rxdrop duration 29.27s rx: 62959986pkts @ 2150794.94pps
i40e1 v3 rxdrop duration 29.18s rx: 68470248pkts @ 2346658.86pps
i40e1 v4 rxdrop duration 29.45s rx: 68900864pkts @ 2339633.99pps
i40e1 v4 rxdrop zc duration 29.36s rx: 1033722048pkts @ 35206198.62pps
i40e1 v2 txonly duration 29.16s tx: 63272640pkts @ 2169632.53pps.
i40e1 v3 txonly duration 29.14s tx: 62531968pkts @ 2145714.21pps.
i40e1 v4 txonly duration 29.48s tx: 40587316pkts @ 1376761.87pps.
i40e1 v4 txonly zc duration 29.36s tx: 608794761pkts @ 20738953.62pps.
i40e1 v2 l2fwd duration 29.19s rx: 57532736pkts @ 1970885.56pps
tx 57532672pkts @ 1970883.37pps.
i40e1 v3 l2fwd duration 29.16s rx: 57675961pkts @ 1978149.64pps
tx: 57675897pkts @ 1978147.44pps.
i40e1 v4 l2fwd duration 29.51s rx: 29732pkts @ 1007.58pps
tx: 28708pkts @ 972.88pps.
i40e1 v4 l2fwd zc duration 29.32s rx: 497528256pkts @ 16969091.01pps
tx: 497527296pkts @ 16969058.27pps.
next prev parent reply other threads:[~2018-02-02 10:31 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-31 13:53 [RFC PATCH 00/24] Introducing AF_XDP support Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 01/24] xsk: AF_XDP sockets buildable skeleton Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 02/24] xsk: add user memory registration sockopt Björn Töpel
2018-02-07 16:00 ` Willem de Bruijn
2018-02-07 21:39 ` Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 03/24] xsk: added XDP_{R,T}X_RING sockopt and supporting structures Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 04/24] xsk: add bind support and introduce Rx functionality Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 05/24] bpf: added bpf_xdpsk_redirect Björn Töpel
2018-02-05 13:42 ` Jesper Dangaard Brouer
2018-02-07 21:11 ` Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 06/24] net: wire up xsk support in the XDP_REDIRECT path Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 07/24] xsk: introduce Tx functionality Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 08/24] i40e: add support for XDP_REDIRECT Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 09/24] samples/bpf: added xdpsock program Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 10/24] netdevice: added XDP_{UN,}REGISTER_XSK command to ndo_bpf Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 11/24] netdevice: added ndo for transmitting a packet from an XDP socket Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 12/24] xsk: add iterator functions to xsk_ring Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 13/24] i40e: introduce external allocator support Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 14/24] i40e: implemented page recycling buff_pool Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 15/24] i40e: start using " Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 16/24] i40e: separated buff_pool interface from i40e implementaion Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 17/24] xsk: introduce xsk_buff_pool Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 18/24] xdp: added buff_pool support to struct xdp_buff Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 19/24] xsk: add support for zero copy Rx Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 20/24] xsk: add support for zero copy Tx Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 21/24] i40e: implement xsk sub-commands in ndo_bpf for zero copy Rx Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 22/24] i40e: introduced a clean_tx callback function Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 23/24] i40e: introduced Tx completion callbacks Björn Töpel
2018-01-31 13:53 ` [RFC PATCH 24/24] i40e: Tx support for zero copy allocator Björn Töpel
2018-02-01 16:42 ` [RFC PATCH 00/24] Introducing AF_XDP support Jesper Dangaard Brouer
2018-02-02 10:31 ` Jesper Dangaard Brouer [this message]
2018-02-05 15:05 ` Björn Töpel
2018-02-07 15:54 ` Willem de Bruijn
2018-02-07 21:28 ` Björn Töpel
2018-02-08 23:16 ` Willem de Bruijn
2018-02-07 17:59 ` Tom Herbert
2018-02-07 21:38 ` Björn Töpel
2018-03-26 16:06 ` William Tu
2018-03-26 16:38 ` Jesper Dangaard Brouer
2018-03-26 21:58 ` William Tu
2018-03-27 6:09 ` Björn Töpel
2018-03-27 9:37 ` Jesper Dangaard Brouer
2018-03-28 0:06 ` William Tu
2018-03-28 8:01 ` Jesper Dangaard Brouer
2018-03-28 15:05 ` William Tu
2018-03-26 22:54 ` Tushar Dave
2018-03-26 23:03 ` Alexander Duyck
2018-03-26 23:20 ` Tushar Dave
2018-03-28 0:49 ` William Tu
2018-03-27 6:30 ` Björn Töpel
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=20180202113134.4739ce91@redhat.com \
--to=brouer@redhat.com \
--cc=alexander.duyck@gmail.com \
--cc=alexander.h.duyck@intel.com \
--cc=anjali.singhai@intel.com \
--cc=ast@fb.com \
--cc=bjorn.topel@gmail.com \
--cc=bjorn.topel@intel.com \
--cc=daniel@iogearbox.net \
--cc=ferruh.yigit@intel.com \
--cc=jeffrey.b.shaw@intel.com \
--cc=jesse.brandeburg@intel.com \
--cc=john.fastabend@gmail.com \
--cc=magnus.karlsson@intel.com \
--cc=michael.lundkvist@ericsson.com \
--cc=netdev@vger.kernel.org \
--cc=qi.z.zhang@intel.com \
--cc=willemdebruijn.kernel@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.