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 EE277A034F; Wed, 28 Jul 2021 09:56:43 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 69F7140E64; Wed, 28 Jul 2021 09:56:43 +0200 (CEST) Received: from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113]) by mails.dpdk.org (Postfix) with ESMTP id F392240142 for ; Wed, 28 Jul 2021 09:56:41 +0200 (CEST) Received: from [192.168.100.116] (unknown [37.139.99.76]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by shelob.oktetlabs.ru (Postfix) with ESMTPSA id 39C437F50A; Wed, 28 Jul 2021 10:56:41 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru 39C437F50A DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=oktetlabs.ru; s=default; t=1627459001; bh=KPuxFuyfdwI1capL+YZM2ZK4EwdXg1WuLvRCtOG9a5Y=; h=Subject:To:Cc:References:From:Date:In-Reply-To; b=eQJvxbu5e3Ui6hReh5mOkLbfaxc8r8YVY81dbdeBbwmRoMuVKye+OdP73sKkB+kwT UrgaCgNTD1Zz+KsJlGuKynX0NmpXtAfCH88FKDD73BP4gvDTGT1eVpHKATfOZpbGaj SNugh5htKl4RowWHxWBk1uct06L1Mrl3x9SVRWdQ= To: Xueming Li Cc: dev@dpdk.org, Viacheslav Ovsiienko , Thomas Monjalon , Ferruh Yigit References: <20210727034204.20649-1-xuemingl@nvidia.com> From: Andrew Rybchenko Message-ID: <5909c370-666d-f36c-0456-abb9710011d5@oktetlabs.ru> Date: Wed, 28 Jul 2021 10:56:40 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 MIME-Version: 1.0 In-Reply-To: <20210727034204.20649-1-xuemingl@nvidia.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [RFC] ethdev: introduce shared Rx queue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 7/27/21 6:42 AM, Xueming Li wrote: > In eth PMD driver model, each RX queue was pre-loaded with mbufs for > saving incoming packets. When number of SF or VF scale out in a switch > domain, the memory consumption became significant. Most important, > polling all ports leads to high cache miss, high latency and low > throughput. > > To save memory and speed up, this patch introduces shared RX queue. > Ports with same configuration in a switch domain could share RX queue > set by specifying offloading flag RTE_ETH_RX_OFFLOAD_SHARED_RXQ. Polling > a member port in shared RX queue receives packets for all member ports. > Source port is identified by mbuf->port. > > Queue number of ports in shared group should be identical. Queue index > is 1:1 mapped in shared group. > > Shared RX queue is supposed to be polled on same thread. > > Multiple groups is supported by group ID. > > Signed-off-by: Xueming Li It looks like it could be useful to artificial benchmarks, but absolutely useless for real life. SFs and VFs are used by VMs (or containers?) to have its own part of HW. If so, SF or VF Rx and Tx queues live in a VM and cannot be shared. Sharing makes sense for representors, but it is not mentioned in the description.