From: Robert Hoo <robert.hu@linux.intel.com>
To: Tariq Toukan <tariqt@mellanox.com>
Cc: davem@davemloft.net, brouer@redhat.com, kyle.leet@gmail.com,
netdev@vger.kernel.org
Subject: Re: [PATCH] pktgen: add a new sample script for 40G and above link testing
Date: Fri, 01 Sep 2017 21:53:48 +0800 [thread overview]
Message-ID: <1504274028.50064.25.camel@linux.intel.com> (raw)
In-Reply-To: <800696cf-477e-52bf-24ae-a0a6c19a5f2d@mellanox.com>
On Sun, 2017-08-27 at 11:25 +0300, Tariq Toukan wrote:
>
> On 25/08/2017 12:26 PM, Robert Hoo wrote:
> > (Sorry for yesterday's wrong sending, I finally fixed my MTA and git
> > send-email settings.)
> >
> > It's hard to benchmark 40G+ network bandwidth using ordinary
> > tools like iperf, netperf (see reference 1).
> > Pktgen, packet generator from Kernel sapce, shall be a candidate.
> > I then tried with pktgen multiqueue sample scripts, but still
> > cannot reach line rate.
>
> Try samples 03 and 04.
Thanks Tariq for review. Sorry for late reply; I do this part time.
Yes, I just tried sample 03 and 04. They can approximately reach 40G
line rate; though still slightly less than my script :) (see my reply
to Jesper).
>
> > I then derived this NUMA awared irq affinity sample script from
> > multi-queue sample one, successfully benchmarked 40G link. I think this can
> > also be useful for 100G reference, though I haven't got device to test yet.
> >
> > This script simply does:
> > Detect $DEV's NUMA node belonging.
> > Bind each thread (processor from that NUMA node) with each $DEV queue's
> > irq affinity, 1:1 mapping.
> > How many '-t' threads input determines how many queues will be
> > utilized.
>
> I agree this is an essential capability.
> This was the main reason I added support for the -f argument.
> Using it, I could choose cores of local NUMA, especially for single
> thread, or when cores of the NUMA are sequential.
Indeed this argument is very helpful.
Sorry I haven't taken it into consideration in v1. I should consider
this, what if user designate '-f'. I can improve this in v2.
>
> >
> > Tested with Intel XL710 NIC with Cisco 3172 switch.
> >
> > It would be even slightly better if the irqbalance service is turned
> > off outside.
> >
> > Referrences:
> > https://people.netfilter.org/hawk/presentations/LCA2015/net_stack_challenges_100G_LCA2015.pdf
> > http://www.intel.cn/content/dam/www/public/us/en/documents/reference-guides/xl710-x710-performance-tuning-linux-guide.pdf
> >
> > Signed-off-by: Robert Hoo <robert.hu@linux.intel.com>
> > ---
>
> Regards,
> Tariq Toukan
next prev parent reply other threads:[~2017-09-01 13:53 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-25 9:26 [PATCH] pktgen: add a new sample script for 40G and above link testing Robert Hoo
2017-08-25 9:47 ` Jesper Dangaard Brouer
2017-08-27 8:25 ` Tariq Toukan
2017-09-01 13:53 ` Robert Hoo [this message]
-- strict thread matches above, loose matches on Subject: below --
2017-08-25 2:24 Robert Hoo
2017-08-25 9:19 ` Jesper Dangaard Brouer
2017-08-25 14:24 ` Waskiewicz Jr, Peter
2017-08-25 14:59 ` Jesper Dangaard Brouer
2017-08-25 15:11 ` Waskiewicz Jr, Peter
2017-09-01 13:57 ` Robert Hoo
2017-09-01 13:48 ` Robert Hoo
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=1504274028.50064.25.camel@linux.intel.com \
--to=robert.hu@linux.intel.com \
--cc=brouer@redhat.com \
--cc=davem@davemloft.net \
--cc=kyle.leet@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=tariqt@mellanox.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;
as well as URLs for NNTP newsgroup(s).