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>