Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Mar 2015 16:39:08 -0700
From:      hiren panchasara <hiren@strugglingcoder.info>
To:        freebsd-net@freebsd.org, jfv@freebsd.org, erj@frebsd.org
Cc:        Adrian Chadd <adrian@freebsd.org>, Jason Wolfe <nitroboost@gmail.com>
Message-ID:  <20150323233908.GT53237@strugglingcoder.info>

next in thread | raw e-mail | index | archive | help

--CMEQapY8OuP5ao1l
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

scottl@freebsd.org
Bcc:=20
Subject: Full 32bit flowid from igb(4) [was: Re: Unbalanced LACP link]
Reply-To:=20
In-Reply-To: <20150319175145.GH53237@strugglingcoder.info>

On 03/19/15 at 10:51P, hiren panchasara wrote:
> On 03/17/15 at 12:34P, Adrian Chadd wrote:
> > On 17 March 2015 at 11:33, Jason Wolfe <nitroboost@gmail.com> wrote:
> > > On Mon, Mar 16, 2015 at 2:43 AM, Hans Petter Selasky <hps@selasky.org=
> wrote:
> > >> On 03/16/15 10:37, Vitalii Duk wrote:
> > >>>
> > >>> I've changed use_flowid to 0 and it helped! But isn't it setting
> > >>> significant? In a description it says "Shift flowid bits to prevent
> > >>> multiqueue collisions".
> > >>
> > >>
> > >> Hi,
> > >>
> > >> Maybe your ethernet hardware is not properly setting the m_flowid ...
> > >>
> > >> --HPS
> > >>
> > >
> > > Flip use_flowid back to 1 and try setting
> > > net.link.lagg.default_flowid_shift / net.link.lagg.X.flowid_shift to 0
> > > as Hiren suggested.  r260179 added this shift, which has caused us
> > > balancing issues with the i350/igb.
> > >
> > > https://svnweb.freebsd.org/base?view=3Drevision&revision=3D260179
> > >
> > > Based on Adrian's comment about igb/ixgbe not setting the 'full
> > > flowid' under normal conditions, does that mean this shift should be 0
> > > by default to ensure we don't break balancing for devices that only
> > > set the CPU/MSIX queue?
> >=20
> > Or we can just see if there's anything wrong with putting the full 32
> > bit RSS flowid in received packets that have them.
>=20
> It'd be nice to have but for now I am proposing following to fix a known
> broken case because of an optimization:
> https://reviews.freebsd.org/D2098

Turns out, setting flowid_shift to 0 is not the correct solution. Please
look at the review above for more details.=20

Looking at the code, we have a way to get full flowid but it's hidden
under "ifdef RSS":
    rxr->fmp->m_pkthdr.flowid =3D le32toh(cur->wb.lower.hi_dword.rss);

Using just this line gives me good hash on I350 igb(4) chipset that we
have.

Is it possible to expose this outside RSS? Would this break other
things/chips?

Cheers,
Hiren

--CMEQapY8OuP5ao1l
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQF8BAEBCgBmBQJVEKQcXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRBNEUyMEZBMUQ4Nzg4RjNGMTdFNjZGMDI4
QjkyNTBFMTU2M0VERkU1AAoJEIuSUOFWPt/lt1wH/0doNoSRjK/xpQxyrgheUAp1
RWIkDJ9blhTSPz4JjBd8pHNZAr3QUrPRezXUTGjSdoW6A7XOeCrIs8AqX3lXsA8R
xQzauz+LmdUgOYxnAOCNMmgZYQkxjxZDLktbWmzIawXYTuEbfuqsG9SVroDgyBpD
P6JRC6IBQAf1RkHQ3GaoVVCYhULcKUIMQYJLsUPgZyoWXUKpG3dqH92l04qKYt9H
aof1CxPeB9O+4rZU/98VbHiVt0O3XoyS1JNWFZXPNPuzNZym2v1dY5hfbZq2kdWs
WosIOaiATGTxIATZ0IqRhIDw6L09Z2/SYZ+Rlj9SsMNiEsU7JH6j0rNVDDV50yQ=
=i9IX
-----END PGP SIGNATURE-----

--CMEQapY8OuP5ao1l--



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