Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Aug 2015 01:28:29 +0000 (UTC)
From:      Barney Cordoba <barney_cordoba@yahoo.com>
To:        =?UTF-8?Q?Olivier_Cochard-Labb=C3=A9?= <olivier@cochard.me>,  Maxim Sobolev <sobomax@freebsd.org>
Cc:        FreeBSD Net <freebsd-net@freebsd.org>,  "freebsd@intel.com" <freebsd@intel.com>,  =?UTF-8?Q?Jev_Bj=C3=B6rsell?= <jev@sippysoft.com>
Subject:   Re: Poor high-PPS performance of the 10G ixgbe(9) NIC/driver in FreeBSD 10.1
Message-ID:  <1931183673.3234634.1439342909940.JavaMail.yahoo@mail.yahoo.com>
In-Reply-To: <CA%2Bq%2BTcqq1SGofhwA9PBmkcNrWsiyY32Ha9tfFM8ROwXmmvX%2BrA@mail.gmail.com>
References:  <CA%2Bq%2BTcqq1SGofhwA9PBmkcNrWsiyY32Ha9tfFM8ROwXmmvX%2BrA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Wow, this is really important! if this is a college project, I give you a D=
. Maybe a D- because it's almost useless information.
You ignore the most important aspect of "performance". Efficiency is arguab=
ly the most important aspect of performance.=C2=A0
1M pps at 20% cpu usage is much better "performance" than 1.2M pps at 85%.=
=C2=A0
Why don't any of you understand this simple thing? Why does spreading equal=
ity really matter, unless you are hitting a wall with your cpus? I don't ca=
re which cpu processes which packet. If you weren't doing moronic things li=
ke binding to a cpu, then you'd never have to care about distribution unles=
s it was extremely unbalanced.
BC=20


     On Tuesday, August 11, 2015 7:15 PM, Olivier Cochard-Labb=C3=A9 <olivi=
er@cochard.me> wrote:
  =20

 On Tue, Aug 11, 2015 at 11:18 PM, Maxim Sobolev <sobomax@freebsd.org> wrot=
e:

> Hi folks,
>
> =E2=80=8BHi,
=E2=80=8B


> We've trying to migrate some of our high-PPS systems to a new hardware th=
at
> has four X540-AT2 10G NICs and observed that interrupt time goes through
> roof after we cross around 200K PPS in and 200K out (two ports in LACP).
> The previous hardware was stable up to about 350K PPS in and 350K out. I
> believe the old one was equipped with the I350 and had the identical LACP
> configuration. The new box also has better CPU with more cores (i.e. 24
> cores vs. 16 cores before). CPU itself is 2 x E5-2690 v3.
>

=E2=80=8B200K PPS, and even 350K PPS are very low value indeed.
On a Intel Xeon L5630 (4 cores only) with one X540-AT2=E2=80=8B

=E2=80=8B(then 2 10Gigabit ports)=E2=80=8B I've reached about 1.8Mpps (fast=
forwarding
enabled) [1].
But my setup didn't use lagg(4): Can you disable lagg configuration and
re-measure your performance without lagg ?

Do you let Intel NIC drivers using 8 queues for port too?
In my use case (forwarding smallest UDP packet size), I obtain better
behaviour by limiting NIC queues to 4 (hw.ix.num_queues or
hw.ixgbe.num_queues, don't remember) if my system had 8 cores. And this
with Gigabit Intel[2] or Chelsio NIC [3].

Don't forget to disable TSO and LRO too.

=E2=80=8BRegards,

Olivier

[1]
http://bsdrp.net/documentation/examples/forwarding_performance_lab_of_an_ib=
m_system_x3550_m3_with_10-gigabit_intel_x540-at2#graphs
[2]
http://bsdrp.net/documentation/examples/forwarding_performance_lab_of_a_sup=
erserver_5018a-ftn4#graph1
[3]
http://bsdrp.net/documentation/examples/forwarding_performance_lab_of_a_hp_=
proliant_dl360p_gen8_with_10-gigabit_with_10-gigabit_chelsio_t540-cr#reduci=
ng_nic_queues
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"

  
From owner-freebsd-net@freebsd.org  Wed Aug 12 01:40:17 2015
Return-Path: <owner-freebsd-net@freebsd.org>
Delivered-To: freebsd-net@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id A2BA399E7B8
 for <freebsd-net@mailman.ysv.freebsd.org>;
 Wed, 12 Aug 2015 01:40:17 +0000 (UTC)
 (envelope-from barney_cordoba@yahoo.com)
Received: from nm1-vm0.bullet.mail.ne1.yahoo.com
 (nm1-vm0.bullet.mail.ne1.yahoo.com [98.138.91.74])
 (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 6C5531CA
 for <freebsd-net@freebsd.org>; Wed, 12 Aug 2015 01:40:17 +0000 (UTC)
 (envelope-from barney_cordoba@yahoo.com)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
 t=1439343609; bh=g0kHJWoBbWWQcX7i17mr+ATL4vVJs831Ef4Jrp2PDGM=;
 h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:From:Subject;
 b=KzoNi/BIo21zcbWtM9+t9ifIDGyIngCrf8aviCcyhAHyyS1vHq6Gk5bBW1m4cG7oipuWewJLCDsn3XR8gS5WRgsPCmhtUEtWKtfVdnJgLiQfVB3vx7zxYiWT89rkutAlWtbsDbofu2/TyDZi1rTiAdXkT31OauFieL5VbkupuI/uxZMbLPuLp9amcwrGHkjjUg+E7kd2afWkX3BD7uxHNPdq+1+UVqbHt1/OYlsH0X5aHcll1955WTJEy0UYcl4ZMEQctpFx3v9hEOBZURkWiUnubwqapE3/JWqST/Pw3TrU8ubYHrIhrjpl9h1Qg/bNtdkMR+kwne31oX/C3wxC9g==
Received: from [98.138.100.115] by nm1.bullet.mail.ne1.yahoo.com with NNFMP;
 12 Aug 2015 01:40:09 -0000
Received: from [98.138.88.238] by tm106.bullet.mail.ne1.yahoo.com with NNFMP;
 12 Aug 2015 01:40:09 -0000
Received: from [127.0.0.1] by omp1038.mail.ne1.yahoo.com with NNFMP;
 12 Aug 2015 01:40:09 -0000
X-Yahoo-Newman-Property: ymail-3
X-Yahoo-Newman-Id: 856165.77852.bm@omp1038.mail.ne1.yahoo.com
X-YMail-OSG: SpJcUVsVM1m_AJRXVKNA2xCb_5ie.ahITTyyihLhZWPsb8eYh1jqQ2f2RYlmQ_H
 XVPV7CPkYUaZi8xBJoLxb3NqnG_siFNKw8NlobR3ZQjLnNtSPlyUnDxV88btcOaNStVKN80ce29p
 w.5AWUsLzxKm1D7AbhYeEsN58xwvt7YE.8NR1WUapscewyleo_iMUsYm41YAPG1ye7tF3vFghpoS
 kOHq4_hNDKXtGrCwsOMsodjwwdn8aBiHKu7M7l6VEsq1XqjW1Lb4bujECLPblAXLa3Zl7z7QDNRj
 jYXsDM6w2PnBVvOZburgdL6rUto1Soem4xULXAUkEf9IukjC2cWvMBpgNOt0ZunZdFedQjt8IAJo
 YXRWGlt1cTDMGGSIrDfh1QJ0anDtCofCNa9J2f4jnRIe3Cy_Xyq8r4PKxKqYBJcRjwf4vpvx_WTa
 c8fQx20NirKd5QkZ6cUiRQtS_2x10dnPrxcHsiQz_Qdhwvo0NLD72sdP2pEbbHClGA1s4ipbgXHy
 .sau.9H4MIDgqGw--
Received: by 98.138.101.170; Wed, 12 Aug 2015 01:40:09 +0000 
Date: Wed, 12 Aug 2015 01:40:09 +0000 (UTC)
From: Barney Cordoba <barney_cordoba@yahoo.com>
Reply-To: Barney Cordoba <barney_cordoba@yahoo.com>
To: Barney Cordoba <barney_cordoba@yahoo.com>, 
 =?UTF-8?Q?Olivier_Cochard-Labb=C3=A9?= <olivier@cochard.me>, 
 Maxim Sobolev <sobomax@freebsd.org>
Cc: FreeBSD Net <freebsd-net@freebsd.org>, 
 "freebsd@intel.com" <freebsd@intel.com>, 
 =?UTF-8?Q?Jev_Bj=C3=B6rsell?= <jev@sippysoft.com>
Message-ID: <477444474.1722346.1439343609122.JavaMail.yahoo@mail.yahoo.com>
In-Reply-To: <1931183673.3234634.1439342909940.JavaMail.yahoo@mail.yahoo.com>
References: <1931183673.3234634.1439342909940.JavaMail.yahoo@mail.yahoo.com>
Subject: Re: Poor high-PPS performance of the 10G ixgbe(9) NIC/driver in
 FreeBSD 10.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Content-Filtered-By: Mailman/MimeDel 2.1.20
X-BeenThere: freebsd-net@freebsd.org
X-Mailman-Version: 2.1.20
Precedence: list
List-Id: Networking and TCP/IP with FreeBSD <freebsd-net.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/freebsd-net>,
 <mailto:freebsd-net-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-net/>;
List-Post: <mailto:freebsd-net@freebsd.org>
List-Help: <mailto:freebsd-net-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-net>,
 <mailto:freebsd-net-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 12 Aug 2015 01:40:17 -0000

Also, using a slow-ass cpu like the atom is completely absurd; first, no-on=
e would ever use them.=C2=A0
You have to test cpu usage under 60% cpu usage, because as you get to highe=
r cpu usage levels the lock contention increases exponentially. You're incr=
easing lock contention by having more queues; so more queues at higher cpu =
% usage will perform increasingly bad as usage increases.
You'd never run a system at 95% usage (ie totally hammering it) in real wor=
ld usage, so why would you benchmark at such a high usage? Everything chang=
es as cpu available become scarce.=C2=A0
"What is the pps at 50% cpu usage" is a better question to ask than the one=
 you're asking.
BC=20


     On Tuesday, August 11, 2015 9:29 PM, Barney Cordoba via freebsd-net <f=
reebsd-net@freebsd.org> wrote:
  =20

 Wow, this is really important! if this is a college project, I give you a =
D. Maybe a D- because it's almost useless information.
You ignore the most important aspect of "performance". Efficiency is arguab=
ly the most important aspect of performance.=C2=A0
1M pps at 20% cpu usage is much better "performance" than 1.2M pps at 85%.=
=C2=A0
Why don't any of you understand this simple thing? Why does spreading equal=
ity really matter, unless you are hitting a wall with your cpus? I don't ca=
re which cpu processes which packet. If you weren't doing moronic things li=
ke binding to a cpu, then you'd never have to care about distribution unles=
s it was extremely unbalanced.
BC=20


=C2=A0 =C2=A0 On Tuesday, August 11, 2015 7:15 PM, Olivier Cochard-Labb=C3=
=A9 <olivier@cochard.me> wrote:
=C2=A0=20

 On Tue, Aug 11, 2015 at 11:18 PM, Maxim Sobolev <sobomax@freebsd.org> wrot=
e:

> Hi folks,
>
> =E2=80=8BHi,
=E2=80=8B


> We've trying to migrate some of our high-PPS systems to a new hardware th=
at
> has four X540-AT2 10G NICs and observed that interrupt time goes through
> roof after we cross around 200K PPS in and 200K out (two ports in LACP).
> The previous hardware was stable up to about 350K PPS in and 350K out. I
> believe the old one was equipped with the I350 and had the identical LACP
> configuration. The new box also has better CPU with more cores (i.e. 24
> cores vs. 16 cores before). CPU itself is 2 x E5-2690 v3.
>

=E2=80=8B200K PPS, and even 350K PPS are very low value indeed.
On a Intel Xeon L5630 (4 cores only) with one X540-AT2=E2=80=8B

=E2=80=8B(then 2 10Gigabit ports)=E2=80=8B I've reached about 1.8Mpps (fast=
forwarding
enabled) [1].
But my setup didn't use lagg(4): Can you disable lagg configuration and
re-measure your performance without lagg ?

Do you let Intel NIC drivers using 8 queues for port too?
In my use case (forwarding smallest UDP packet size), I obtain better
behaviour by limiting NIC queues to 4 (hw.ix.num_queues or
hw.ixgbe.num_queues, don't remember) if my system had 8 cores. And this
with Gigabit Intel[2] or Chelsio NIC [3].

Don't forget to disable TSO and LRO too.

=E2=80=8BRegards,

Olivier

[1]
http://bsdrp.net/documentation/examples/forwarding_performance_lab_of_an_ib=
m_system_x3550_m3_with_10-gigabit_intel_x540-at2#graphs
[2]
http://bsdrp.net/documentation/examples/forwarding_performance_lab_of_a_sup=
erserver_5018a-ftn4#graph1
[3]
http://bsdrp.net/documentation/examples/forwarding_performance_lab_of_a_hp_=
proliant_dl360p_gen8_with_10-gigabit_with_10-gigabit_chelsio_t540-cr#reduci=
ng_nic_queues
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"

=C2=A0=20
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"

  
From owner-freebsd-net@freebsd.org  Wed Aug 12 01:46:45 2015
Return-Path: <owner-freebsd-net@freebsd.org>
Delivered-To: freebsd-net@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id CE06499E92A
 for <freebsd-net@mailman.ysv.freebsd.org>;
 Wed, 12 Aug 2015 01:46:45 +0000 (UTC)
 (envelope-from sobomax@sippysoft.com)
Received: from mail-wi0-f181.google.com (mail-wi0-f181.google.com
 [209.85.212.181])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (Client CN "smtp.gmail.com",
 Issuer "Google Internet Authority G2" (verified OK))
 by mx1.freebsd.org (Postfix) with ESMTPS id 64E90A07
 for <freebsd-net@freebsd.org>; Wed, 12 Aug 2015 01:46:44 +0000 (UTC)
 (envelope-from sobomax@sippysoft.com)
Received: by wicne3 with SMTP id ne3so82163661wic.0
 for <freebsd-net@freebsd.org>; Tue, 11 Aug 2015 18:46:42 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:mime-version:sender:in-reply-to:references:date
 :message-id:subject:from:to:cc:content-type;
 bh=QnUF8NPF+tTwauLQQi4jIFxu/EM5dzbuE3bv602TNLA=;
 b=IQ8EqxNP84p69cCmQf0TYp9Eu6SIO+xgXrpcKCvkNFOsC7HGCxFapbES6tsclhUlri
 xhCXNAcVKm1i2H5Aa4STLwTMoq3qrt0Gbb3i+E3WgsRjKgUBZyEsr1fnjXKzjaQNF6Ws
 0ALcvBOyGtDxtZRuIR7oGU6RIfPsCuI8auHhCNUPij/Ddl8if0kdRiIi4xtmUh1CrSgl
 gLxaEgTIJYrlZ7uvyxv8L+qpcwaaPXjVHVMc3P6Qur0pT7AJ6KzqlZqQfeIP0U3zY+xX
 fTSk11fZxds49Rozt8wZktf4f9d1kMA+8/CK4kQvXKODTFSWXjft+HRpzjxjTwgr0KRI
 HVqw==
X-Gm-Message-State: ALoCoQn6BzD71Yqfk+Zxv5qXKPmBmIo21oSNzpCcMRTwYIeegAxqx08VRJ5W7JqfyDA5jJ+pYf1l
MIME-Version: 1.0
X-Received: by 10.180.78.166 with SMTP id c6mr21150419wix.8.1439344002764;
 Tue, 11 Aug 2015 18:46:42 -0700 (PDT)
Sender: sobomax@sippysoft.com
Received: by 10.27.143.15 with HTTP; Tue, 11 Aug 2015 18:46:42 -0700 (PDT)
In-Reply-To: <1931183673.3234634.1439342909940.JavaMail.yahoo@mail.yahoo.com>
References: <CA+q+Tcqq1SGofhwA9PBmkcNrWsiyY32Ha9tfFM8ROwXmmvX+rA@mail.gmail.com>
 <1931183673.3234634.1439342909940.JavaMail.yahoo@mail.yahoo.com>
Date: Tue, 11 Aug 2015 18:46:42 -0700
X-Google-Sender-Auth: vYWQutNBf8V6QTWySNnYWFiUeYc
Message-ID: <CAH7qZft_MCdGc=2yCj+9-kgZ9Hf6SW1T8NR71ktSnUaP9c6f9g@mail.gmail.com>
Subject: Re: Poor high-PPS performance of the 10G ixgbe(9) NIC/driver in
 FreeBSD 10.1
From: Maxim Sobolev <sobomax@FreeBSD.org>
To: Barney Cordoba <barney_cordoba@yahoo.com>
Cc: =?UTF-8?Q?Olivier_Cochard=2DLabb=C3=A9?= <olivier@cochard.me>, 
 FreeBSD Net <freebsd-net@freebsd.org>, "freebsd@intel.com" <freebsd@intel.com>,
 =?UTF-8?Q?Jev_Bj=C3=B6rsell?= <jev@sippysoft.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Content-Filtered-By: Mailman/MimeDel 2.1.20
X-BeenThere: freebsd-net@freebsd.org
X-Mailman-Version: 2.1.20
Precedence: list
List-Id: Networking and TCP/IP with FreeBSD <freebsd-net.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/freebsd-net>,
 <mailto:freebsd-net-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-net/>;
List-Post: <mailto:freebsd-net@freebsd.org>
List-Help: <mailto:freebsd-net-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-net>,
 <mailto:freebsd-net-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 12 Aug 2015 01:46:46 -0000

Thanks Barney for totally useless response and an attempted insult! And
yes, we are hitting CPU limit on 12 core  E5-2620 v2 systems running I350,
so yes, we do know a little bit how to distribute our application at least
with the igb. For some reason this does not work with ixgb and we are
trying to understand why is it so.

http://sobomax.sippysoft.com/ScreenShot388.png

On Tue, Aug 11, 2015 at 6:28 PM, Barney Cordoba <barney_cordoba@yahoo.com>
wrote:

> Wow, this is really important! if this is a college project, I give you a
> D. Maybe a D- because it's almost useless information.
>
> You ignore the most important aspect of "performance". Efficiency is
> arguably the most important aspect of performance.
>
> 1M pps at 20% cpu usage is much better "performance" than 1.2M pps at 85%=
.
>
> Why don't any of you understand this simple thing? Why does spreading
> equality really matter, unless you are hitting a wall with your cpus? I
> don't care which cpu processes which packet. If you weren't doing moronic
> things like binding to a cpu, then you'd never have to care about
> distribution unless it was extremely unbalanced.
>
> BC
>
>
>
> On Tuesday, August 11, 2015 7:15 PM, Olivier Cochard-Labb=C3=A9 <
> olivier@cochard.me> wrote:
>
>
> On Tue, Aug 11, 2015 at 11:18 PM, Maxim Sobolev <sobomax@freebsd.org>
> wrote:
>
> > Hi folks,
> >
> > =E2=80=8BHi,
> =E2=80=8B
>
>
> > We've trying to migrate some of our high-PPS systems to a new hardware
> that
> > has four X540-AT2 10G NICs and observed that interrupt time goes throug=
h
> > roof after we cross around 200K PPS in and 200K out (two ports in LACP)=
.
> > The previous hardware was stable up to about 350K PPS in and 350K out. =
I
> > believe the old one was equipped with the I350 and had the identical LA=
CP
> > configuration. The new box also has better CPU with more cores (i.e. 24
> > cores vs. 16 cores before). CPU itself is 2 x E5-2690 v3.
> >
>
> =E2=80=8B200K PPS, and even 350K PPS are very low value indeed.
> On a Intel Xeon L5630 (4 cores only) with one X540-AT2=E2=80=8B
>
> =E2=80=8B(then 2 10Gigabit ports)=E2=80=8B I've reached about 1.8Mpps (fa=
stforwarding
> enabled) [1].
> But my setup didn't use lagg(4): Can you disable lagg configuration and
> re-measure your performance without lagg ?
>
> Do you let Intel NIC drivers using 8 queues for port too?
> In my use case (forwarding smallest UDP packet size), I obtain better
> behaviour by limiting NIC queues to 4 (hw.ix.num_queues or
> hw.ixgbe.num_queues, don't remember) if my system had 8 cores. And this
> with Gigabit Intel[2] or Chelsio NIC [3].
>
> Don't forget to disable TSO and LRO too.
>
> =E2=80=8BRegards,
>
> Olivier
>
> [1]
>
> http://bsdrp.net/documentation/examples/forwarding_performance_lab_of_an_=
ibm_system_x3550_m3_with_10-gigabit_intel_x540-at2#graphs
> [2]
>
> http://bsdrp.net/documentation/examples/forwarding_performance_lab_of_a_s=
uperserver_5018a-ftn4#graph1
> [3]
>
> http://bsdrp.net/documentation/examples/forwarding_performance_lab_of_a_h=
p_proliant_dl360p_gen8_with_10-gigabit_with_10-gigabit_chelsio_t540-cr#redu=
cing_nic_queues
>
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
>
>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1931183673.3234634.1439342909940.JavaMail.yahoo>