From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id CBBF342F6C for ; Fri, 28 Jul 2023 16:12:23 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4742B40EE3; Fri, 28 Jul 2023 16:12:23 +0200 (CEST) Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by mails.dpdk.org (Postfix) with ESMTP id D486A4021E for ; Fri, 28 Jul 2023 16:12:21 +0200 (CEST) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 7CCF05C006A; Fri, 28 Jul 2023 10:12:21 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Fri, 28 Jul 2023 10:12:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1690553541; x=1690639941; bh=f+bIEabUb/8NcxIJAjE91N6eTyEW79BCkS9 wjp0fUVc=; b=RI+hLXB62Q2WqzB2qo4L3iSlNjX/e5sX8iyKQTDl/uodfIZGU+O D5z4hyI5x2P85rWQl66mYPM7qHuQunNzJNaCF/cAHBJoz5zxhOEKkrxcF4ULZ4g8 aY6sCS/NiD8IiSQ2uW3OYX8rCxdMDtmjIC8yF7S1sA40+5tpBfk5SNiNbPllPh1I 7aQwZVHu+I4xYbNLefTtMjEu8LMK+fwSQrCv9zAgnM1G3EsDjlx1ZynTStgeYI/b +ijcyMl1O9oJBwit6XKUPBnrtpZfSJb0Uo3OeFWS9jk3cqiMHVHtWwLISXyRa09F tZPehteFU9dkRrOscdtnZw57mxyJTn5waOA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1690553541; x=1690639941; bh=f+bIEabUb/8NcxIJAjE91N6eTyEW79BCkS9 wjp0fUVc=; b=RrThhycv/oAuNiRWF8vHJuNBphu2Geho51+2rvRd0qkZQGbABZD 92ZQv7BWg7SEcTwHpUZQCVVpwg4OqFuyVR2UPyC7OhvZhaZIpFyrCeg9W9elmu7D kkYhYdmwSYXdktEpdrWaKcqvQfj2Ddzu2qhWZx6A0P/BIJS8iCId9BsPoSQQgfja zSMRNC2K5JSL383+dzYpDinJomHX34cenq3Df21zEiWU3gvWns8DSh7FQK6p1iTX chUJI6TOsHOFo6AqomYqDQgg/M/kGZDjXSmfi/TXeRdlVAHG2Vuwg+GTfz5l2rJO ZaAhadIp7XrHy+W4yQTpeO8zuM+cMJJFgSg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrieeigdejtdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvfevufffkfgjfhgggfgtsehtufertddttddvnecuhfhrohhmpefvhhhomhgr shcuofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecugg ftrfgrthhtvghrnhepjeefgfefteeigeejtdfgvdffffeikeejiedvfffgkeeltdfghfel udfhfedtuedtnecuffhomhgrihhnpehrvggrughthhgvughotghsrdhiohdprhigmhhoug gvrdhmqhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhm pehthhhomhgrshesmhhonhhjrghlohhnrdhnvght X-ME-Proxy: Feedback-ID: i47234305:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 28 Jul 2023 10:12:20 -0400 (EDT) From: Thomas Monjalon To: Matheus Stolet Cc: users@dpdk.org, maxime.coquelin@redhat.com Subject: Re: Supporting RSS with DPDK in a VM Date: Fri, 28 Jul 2023 16:12:19 +0200 Message-ID: <2160676.Icojqenx9y@thomas> In-Reply-To: <4c9482cb3259f1e75e19a5724a67ea8d@mpi-sws.org> References: <4c9482cb3259f1e75e19a5724a67ea8d@mpi-sws.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org Hello, You can have packets distributed to multiple queues without RSS. If you really wants to enable the RSS algorithms, it seems not supported for now with vhost_user. It can be enabled with vhost running in the kernel: https://qemu.readthedocs.io/en/latest/devel/ebpf_rss.html 26/07/2023 00:58, Matheus Stolet: > Hello, > > I am trying to run a DPDK application with RSS enabled so that I can > have multiple rx queues. This application is running inside a VM. This > VM is hosted by QEMU using KVM acceleration and OvS with DPDK and > vhost-user are used in the backend. So to clarify things there are two > DPDK portions to this. The first is the DPDK portion used by OvS that > bypasses the host operating system. This is working fine. The other is a > DPDK application inside the virtual machine that will bypass the guest > operating system. This is where I am having trouble with. > > When I set rte_eth_conf.rxmode.mq_mode = ETH_MQ_RX_RSS in my application > I get the following errors: > Warning: NIC does not support all requested RSS hash functions. > virtio_dev_configure(): RSS support requested but not supported by the > device > Port0 dev_configure = -95 > > I setup my VM in QEMU to have mq=on and queues=10. I also set the number > of rx_queues when creating the vhost port using ovs to 10. Before > binding the interface to DPDK, I used ethtool to verify if the network > interface was actually setup to have multiple queues. > > Running the 'ethtool -l enps02' command yields the following output: > Pre-set maximums: > RX: 0 > TX: 0 > Other: 0 > Combined: 10 > Current hardware settings: > RX: 0 > TX: 0 > Other: 0 > Combined: 10 > > From my understanding the combined values indicate that the interface > was properly setup to have multiple queues, so why am I getting the > unsupported RSS error? Are there other configuration steps that I have > to take to get this to work? Is RSS with DPDK not supported at all > inside a VM at the moment? Perhaps the "Port0 dev_configure() = -95" > error means something else? Without the receive side scaling turned on > my application is not able to achieve the desired throughput and won't > scale when I assign more cores to the application. > > Versions: > VM > DPDK: 21.11.4 > Kernel: 5.4.0-148-generic > Distribution: Ubuntu 20.04 > > Host > DPDK: 21.11.4 > QEMU: 8.0.90 > OvS: 3.0.5 > Kernel: 5.15.111.1.amd64-smp > Distribution: Debian 11 >