Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Jul 2016 15:31:46 -0400
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        Adrian Chadd <adrian@freebsd.org>, FreeBSD Net <freebsd-net@freebsd.org>
Subject:   Re: proposal: splitting NIC RSS up from stack RSS
Message-ID:  <306af514-70ff-f3bf-5b4f-da7ac1ec6580@cs.duke.edu>
In-Reply-To: <CAJ-Vmo=Wj3ZuC6mnVCxonQ74nfEmH7CE=TP3xhLzWifdBxxfBQ@mail.gmail.com>
References:  <CAJ-Vmo=Wj3ZuC6mnVCxonQ74nfEmH7CE=TP3xhLzWifdBxxfBQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 07/14/2016 16:06, Adrian Chadd wrote:

> I'd appreciate any other feedback/comments/suggestions. If you're
> using RSS and you haven't told me then please let me know!

Hi Adrian,

I'm a huge fan of your RSS work.  In fact, I did a backport of RSS to
Netflix's stable-10 about 6 months ago.  I was really interesting in
breaking up the global network hashtables, where we see a lot of
contention.  PCBGROUP didn't help much (just spread contention
around), so I was hoping that RSS would be the magic bullet.

Things may have progressed since then, but the real deficiencies that
I saw were:

o RSS (at the time) would only use a power-of-two number of cores.
Sadly, Intel and AMD are building lots of chips with oddball core
counts. So in a workload like ours where most work is initiated via
the NIC rx ithread, having a 14-core machine meant leaving almost 1/2
the machine mostly idle, while 8 cores were maxed out.

o There is (or was at the time) no library interface for RSS, and no
patches for popular web servers (like nginx) to use RSS.  The only
example RSS users I could find were a few things from your blog.

These 2 things lead me to abandon the backport, as I didn't have time
to address them on top of other work I was doing.  I especially think
getting a real API and a real example consumer would help a lot.

Best regards,

Drew





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?306af514-70ff-f3bf-5b4f-da7ac1ec6580>