proposal: splitting NIC RSS up from stack RSS

Andrew Gallatin gallatin at cs.duke.edu
Thu Jul 21 19:39:41 UTC 2016


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




More information about the freebsd-net mailing list