From owner-freebsd-net@freebsd.org Thu Aug 8 18:44:33 2019 Return-Path: Delivered-To: freebsd-net@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 28997AEDA0 for ; Thu, 8 Aug 2019 18:44:33 +0000 (UTC) (envelope-from hrs@allbsd.org) Received: from mail.allbsd.org (mx.allbsd.org [IPv6:2001:2f0:104:e001::41]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature ECDSA (P-384) client-digest SHA384) (Client CN "mail.allbsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 464HNH2qHPz4hnR; Thu, 8 Aug 2019 18:44:30 +0000 (UTC) (envelope-from hrs@allbsd.org) Received: from mail-d.allbsd.org ([IPv6:2409:11:a740:4700:58:65ff:fe00:b0b]) (authenticated bits=56) by mail.allbsd.org (8.15.2/8.15.2) with ESMTPSA id x78Ii0Wn019071 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=OK) (Client CN "/CN=mail-d.allbsd.org", Issuer "/C=US/O=Let's+20Encrypt/CN=Let's+20Encrypt+20Authority+20X3"); Fri, 9 Aug 2019 03:44:11 +0900 (JST) (envelope-from hrs@allbsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=allbsd.org; s=20190220; t=1565289868; bh=sGd/zNnzCbV8oWrCQmxzd9mhgix59FarncReEEVfask=; h=Date:To:Cc:From:In-Reply-To:References; b=ZhzG+YuDO9IPb2Q4GsxJI3Pu0ipTH/XmD389E3IEPquhfjW5k1hl7rj/R6OlSd/s6 NCEAbGHgU+gweFKQLjKcZA5icRuBlmnKq+Kl/egTdn6TtPjINDVoOaw/D5RsGeTLs0 VTYC8oQ+br9ODmwF6veHvQxwHEYhePOH/tRqPPpE= Received: from alph.d.allbsd.org ([IPv6:2409:11:a740:4700:16:ceff:fe34:2700]) by mail-d.allbsd.org (8.15.2/8.15.2) with ESMTPS id x78Ihs0i063448 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 9 Aug 2019 03:43:54 +0900 (JST) (envelope-from hrs@allbsd.org) Received: from localhost (localhost [[UNIX: localhost]]) (authenticated bits=0) by alph.d.allbsd.org (8.15.2/8.15.2) with ESMTPA id x78IhrWC063445; Fri, 9 Aug 2019 03:43:54 +0900 (JST) (envelope-from hrs@allbsd.org) Date: Fri, 09 Aug 2019 03:43:18 +0900 (JST) Message-Id: <20190809.034318.432302213401823532.hrs@allbsd.org> To: avg@FreeBSD.org Cc: freebsd-net@freebsd.org Subject: Re: rss tldr From: Hiroki Sato In-Reply-To: <42d8cbd1-ad28-d5a2-ecec-218763e2da62@FreeBSD.org> References: <42d8cbd1-ad28-d5a2-ecec-218763e2da62@FreeBSD.org> X-PGPkey-fingerprint: BDB3 443F A5DD B3D0 A530 FFD7 4F2C D3D8 2793 CF2D X-Mailer: Mew version 6.8 on Emacs 26.1 Mime-Version: 1.0 Content-Type: Multipart/Signed; protocol="application/pgp-signature"; micalg=pgp-sha1; boundary="--Security_Multipart(Fri_Aug__9_03_43_18_2019_678)--" Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.6.2 (mail.allbsd.org [IPv6:2001:2f0:104:e001:0:0:0:41]); Fri, 09 Aug 2019 03:44:20 +0900 (JST) X-Spam-Status: No, score=2.7 required=13.0 tests=CONTENT_TYPE_PRESENT, QENCPTR1, RCVD_IN_AHBL,RCVD_IN_AHBL_PROXY,RCVD_IN_AHBL_SPAM,RDNS_NONE, UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.2 X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mx.allbsd.org X-Rspamd-Queue-Id: 464HNH2qHPz4hnR X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=allbsd.org header.s=20190220 header.b=ZhzG+YuD; dmarc=none; spf=pass (mx1.freebsd.org: domain of hrs@allbsd.org designates 2001:2f0:104:e001::41 as permitted sender) smtp.mailfrom=hrs@allbsd.org X-Spamd-Result: default: False [-3.15 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[allbsd.org:s=20190220]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; TO_DN_NONE(0.00)[]; DMARC_NA(0.00)[allbsd.org]; MV_CASE(0.50)[]; NEURAL_HAM_LONG(-0.99)[-0.993,0]; RCVD_COUNT_THREE(0.00)[4]; DKIM_TRACE(0.00)[allbsd.org:+]; RCPT_COUNT_TWO(0.00)[2]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_SHORT(-0.25)[-0.253,0]; SIGNED_PGP(-2.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:7514, ipnet:2001:2f0::/32, country:JP]; IP_SCORE(0.19)[ipnet: 2001:2f0::/32(-2.75), asn: 7514(3.73), country: JP(-0.03)] X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Aug 2019 18:44:33 -0000 ----Security_Multipart(Fri_Aug__9_03_43_18_2019_678)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Andriy Gapon 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)----