rss tldr

Hiroki Sato hrs at allbsd.org
Thu Aug 8 18:44:33 UTC 2019


Andriy Gapon <avg at FreeBSD.org> wrote
  in <42d8cbd1-ad28-d5a2-ecec-218763e2da62 at FreeBSD.org>:

av> Is there any up-do-date documentation on RSS/FreeBSD ?
av> I am looking -- for a friend :) -- for some simple things like:
av> - is it enabled by default? if not, how to enable?

 FreeBSD supports RSS in device drivers for RSS-aware multiqueue NICs
 and the IPv4/IPv6 network stack while it is not enabled in GENERIC.
 "options RSS" and "options PCBGROUP" are required to enable it.

 IIRC the following URL is the document we currently have:

  https://wiki.freebsd.org/NetworkRSS

av> - how / what to configure if any configuration is needed?

 Basically no configuration is needed if the NIC device driver
 supports RSS while RSS generally has additional configuration knob
 for CPU-to-queue bindings in case that the default configuration does
 not work with the specific traffic pattern from performance
 perspective.

 net.inet.rss sysctl nodes are available for some network stack-level
 RSS information.  RSS-aware NIC device drivers have their own knobs
 (or userland utilities) to enable/disable/change RSS configuration.
 Multiqueue must be enabled in the device driver, of course.

av> - how to observe / verify that it works?

 There is no generic way to verify if it works or not at this moment.
 Probably queue utilization statistics which can be found by using
 "netstat -Q" is useful.  You can also find interrupt distribution and
 CPU utilization can be found by using "vmstat -ai", for example.

av> - how to find out, before purchasing, if a controller and its driver
av> support RSS?

av> My first impression is that answers really depend on the hardware /
av> drivers.  But maybe there are some common things and maybe there are
av> some easy answers for the most common and important controllers (like
av> those from Intel plus virtual/cloud ones like ena/vmx/hn).

 I do not have precise information about which NIC supports RSS and
 how well it works, but Chelsio (cxgb, cxgbe), Intel (em, igb, ixgbe,
 ixl), Solarflare (sfxge), Mellanox (mlx5), QLogic (qlxgb, bxe),
 Cavium (qlnx) should support it according to the device driver source
 files.

-- Hiroki
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 163 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-net/attachments/20190809/72a36486/attachment.sig>


More information about the freebsd-net mailing list