Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 09 Aug 2019 03:43:18 +0900 (JST)
From:      Hiroki Sato <hrs@allbsd.org>
To:        avg@FreeBSD.org
Cc:        freebsd-net@freebsd.org
Subject:   Re: rss tldr
Message-ID:  <20190809.034318.432302213401823532.hrs@allbsd.org>
In-Reply-To: <42d8cbd1-ad28-d5a2-ecec-218763e2da62@FreeBSD.org>
References:  <42d8cbd1-ad28-d5a2-ecec-218763e2da62@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
----Security_Multipart(Fri_Aug__9_03_43_18_2019_678)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Andriy Gapon <avg@FreeBSD.org> wrote
  in <42d8cbd1-ad28-d5a2-ecec-218763e2da62@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

----Security_Multipart(Fri_Aug__9_03_43_18_2019_678)--
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----

iEYEABECAAYFAl1MbUYACgkQTyzT2CeTzy3FfwCfUExC3xOH2L55g+Di9dRUSvS7
2QAAniEdA2n2NzcUmfE/OcVp/E4jwqNx
=Fy0N
-----END PGP SIGNATURE-----

----Security_Multipart(Fri_Aug__9_03_43_18_2019_678)----



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