From: Keller, Jacob E <jacob.e.keller@intel.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [next-queue 15/17] fm10k: change default Tx ITR to 25usec
Date: Wed, 14 Oct 2015 23:44:11 +0000 [thread overview]
Message-ID: <1444866251.26286.54.camel@intel.com> (raw)
In-Reply-To: <561EE4C8.9060502@gmail.com>
On Wed, 2015-10-14 at 16:27 -0700, Alexander Duyck wrote:
> Sounds reasonable. With TCP loss can also play a huge factor,
> although
> I would assume you probably have no dropped packets correct?
>
No drops for UDP, but with TCP I see drops on the receiving partner...
no more than about 200 total though.
> > I've been getting pretty inconsistent performance results over the
> > last
> > few tests.
> >
> > I tried these tests with interrupt moderation disabled completely
> > and I
> > generally got less performance.
>
> Completely disabling it will usually do that. The problem is the
> rates
> for 50Gbs are insane. You are looking at 4Mpps even with 1514 byte
> packets.
Ok that makes sense, yea. Too much wakeup causes us to waste a lot.
>
> > Interestingly, I just set both rx and tx to 10, and got one test
> > through to report 39Gb/s... But I am definitely not able to
> > consistently hit this value.
>
> The 10us range should be excessive. I would expect you would see the
> best performance right around the amount of time it should take to
> almost fill the ring or socket buffers without actually ever filling
> them. Basically it is a game of get as close as you can without
> going
> over in order to get the fewest interrupts possible.
>
I am not sure what is best, but 10 so far as been I will try a few
others...
> > I generally seem to range pretty wide over tests.
>
> CPU affinity along with everything else can always make these kind of
> tests pretty messy. I'm assuming you have power management also
> disabled? If not that could also cause some pretty wide swings due
> to
> processor C states and P states.
>
> > For UDP I used:
> >
> > ./netperf -T0,5 -t UDP_STREAM -f m -c -C -H 192.168.21.2 -- -m 64k
> >
> > For this test, I see 80% CPU utilization on the sender, and 50% on
> > the
> > receiver, when bound as above.
> >
> > I seem to get ~16Gb/s send and receive here, with no variance...
>
> The fact that there is no variance likely means something is
> bottlenecking this somewhere early on in the Tx.
>
> > I suspect part of this is due to the fact that TCP can do hardware
> > TSO,
> > which we don't have in UDP? I'm not sure here..
>
> TCP will also allow you to have significantly more data in flight in
> many cases. UDP is normally confined to a fairly small window.
>
Makes sense.
> > UDP is significantly more stable than TCP was. but it doesn't seem
> > to
> > ever go above 16Gb/s for a single stream.
>
> I'd be interested in seeing the actual numbers. I know for some
> UDP_STREAM tests I have run it ends up being that one side is
> transmitting a significant amount, while the receiving side is only
> getting a fraction of it because packets are being dropped due to
> overrunning the socket.
>
According to netperf, it doesn't have any dropped packets doing UDP,
ethtool agrees:
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.21.2 () port 0 AF_INET : cpu bind
Socket Message Elapsed Messages CPU Service
Size Size Time Okay Errors Throughput Util Demand
bytes bytes secs # # 10^6bits/sec % SS us/KB
212992 64000 10.00 319414 0 16349.8 9.57 0.959
212992 10.00 319407 16349.4 9.57 0.959
So this looks quite low comapred to TCP, but it has no variance.
> > I'm still a bit concerned over the instability produced by
> > TCP_STREAM,
> > but it should be noted that my test setup is far from ideal:
>
> Agreed.
>
I can't really get a better one at present because we don't have
hardware with multiple host interfaces on different boxes that is
available to me for long term usage for test case here..
> > I currently only have a single host interface, and have used
> > network
> > namespacing to separate the two devices so that it routes over the
> > physical hardware. So it's a single system test which impacts irq
> > to
> > CPU binding, as well as queue to CPU binding, and so on. There are
> > a
> > lot of issues here that impact, but I'm happy to be able to get
> > much
> > better than 2-3Gb/s like I was before.
> >
> > Any further suggestions would be appreciated.
> >
> > Regards,
> > Jake
>
>
> The only other thing I can think of is to check flow control, but as
> I
> recall that is disabled by default with fm10k.
>
> - Alex
>
There is no hardware ethernet flow control at all for the fm10k
interface.
Regards,
Jake
next prev parent reply other threads:[~2015-10-14 23:44 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-13 23:38 [Intel-wired-lan] [next-queue 01/17] fm10k: conditionally compile DCB and DebugFS support Jacob Keller
2015-10-13 23:38 ` [Intel-wired-lan] [next-queue 02/17] fm10k: set netdev features in one location Jacob Keller
2015-10-13 23:39 ` [Intel-wired-lan] [next-queue 03/17] fm10k: reinitialize queuing scheme after calling init_hw Jacob Keller
2015-10-13 23:39 ` [Intel-wired-lan] [next-queue 04/17] fm10k: reset max_queues on init_hw_vf failure Jacob Keller
2015-10-13 23:39 ` [Intel-wired-lan] [next-queue 05/17] fm10k: always check init_hw for errors Jacob Keller
2015-10-14 0:46 ` Allan, Bruce W
2015-10-14 15:57 ` Keller, Jacob E
2015-10-28 0:47 ` Singh, Krishneil K
2015-10-13 23:39 ` [Intel-wired-lan] [next-queue 06/17] fm10k: Correct typecast in fm10k_update_xc_addr_pf Jacob Keller
2015-10-14 0:46 ` Allan, Bruce W
2015-10-13 23:39 ` [Intel-wired-lan] [next-queue 07/17] fm10k: explicitly typecast vlan values to u16 Jacob Keller
2015-10-13 23:39 ` [Intel-wired-lan] [next-queue 08/17] fm10k: add statistics for actual DWORD count of mbmem mailbox Jacob Keller
2015-10-14 0:47 ` Allan, Bruce W
2015-10-13 23:39 ` [Intel-wired-lan] [next-queue 09/17] fm10k: rename mbx_tx_oversized statistic to mbx_tx_dropped Jacob Keller
2015-10-13 23:39 ` [Intel-wired-lan] [next-queue 10/17] fm10k: add TEB check to fm10k_gre_is_nvgre Jacob Keller
2015-10-14 0:47 ` Allan, Bruce W
2015-10-13 23:39 ` [Intel-wired-lan] [next-queue 11/17] fm10k: Add support for ITR scaling based on PCIe link speed Jacob Keller
2015-10-14 0:47 ` Allan, Bruce W
2015-10-13 23:39 ` [Intel-wired-lan] [next-queue 12/17] fm10k: introduce ITR_IS_ADAPTIVE macro Jacob Keller
2015-10-13 23:39 ` [Intel-wired-lan] [next-queue 13/17] fm10k: Update adaptive ITR algorithm Jacob Keller
2015-10-14 18:35 ` Alexander Duyck
2015-10-14 20:12 ` Keller, Jacob E
2015-10-14 22:40 ` Alexander Duyck
2015-10-14 23:50 ` Keller, Jacob E
2015-10-15 2:17 ` Alexander Duyck
2015-10-15 16:32 ` Keller, Jacob E
2015-10-13 23:39 ` [Intel-wired-lan] [next-queue 14/17] fm10k: use macro for default Tx and Rx ITR values Jacob Keller
2015-10-13 23:39 ` [Intel-wired-lan] [next-queue 15/17] fm10k: change default Tx ITR to 25usec Jacob Keller
2015-10-14 15:15 ` Alexander Duyck
2015-10-14 15:59 ` Keller, Jacob E
2015-10-14 16:23 ` Alexander Duyck
2015-10-14 16:31 ` Keller, Jacob E
2015-10-14 17:57 ` Keller, Jacob E
2015-10-14 23:27 ` Alexander Duyck
2015-10-14 23:44 ` Keller, Jacob E [this message]
2015-10-15 2:23 ` Alexander Duyck
2015-10-15 16:35 ` Keller, Jacob E
2015-10-13 23:39 ` [Intel-wired-lan] [next-queue 16/17] fm10k: TRIVIAL fix typo of hardware Jacob Keller
2015-10-13 23:39 ` [Intel-wired-lan] [next-queue 17/17] fm10k: TRIVIAL cleanup order at top of fm10k_xmit_frame Jacob Keller
2015-10-14 0:46 ` [Intel-wired-lan] [next-queue 01/17] fm10k: conditionally compile DCB and DebugFS support Allan, Bruce W
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=1444866251.26286.54.camel@intel.com \
--to=jacob.e.keller@intel.com \
--cc=intel-wired-lan@osuosl.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