From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wg0-f53.google.com (mail-wg0-f53.google.com [74.125.82.53]) by dpdk.org (Postfix) with ESMTP id 35A4819F5 for ; Fri, 26 Dec 2014 06:16:21 +0100 (CET) Received: by mail-wg0-f53.google.com with SMTP id l18so13931918wgh.12 for ; Thu, 25 Dec 2014 21:16:21 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=O8k77i9I4ID5A2D2yDk0L+mGut6sj3clyNaHvbRGXXI=; b=h6ioGHT9sQR44l+0Gnahv2CQb/+1gLnFDdrsuAYBgqjKnMpOkzpiwQAoGMJZTyl1Ji GkV5ECmNHy0Q/ZaYyUYYzUQgIqFoy/R7WcvuN8JZD+T1jDrjxLrK77IexAYkCbOScihE rbDdCBTS4UC+k1+ttkptCPaDg1knKtGFUQ8hpi9EoM0PalccpDOV1aKpVQl6w3arxOYu jRvMG4HDSXfugHVMFLEaiGjUlRyhH9iK/FoehbxFKG9MDRTPBxhHREhBszxvQ420c5UL Zuy3plaXxKBdZqPzZZ79KbBwNK3F9i0YFj0takgEUBa5/dIwq/G3O772W9ASRS9hbrkT V/+g== X-Gm-Message-State: ALoCoQmwZZnLOMaECd2Qum8EhtrUA/HIyIVL6bGAN0RQaTGqOD1LNOwAJCB69vc+pWJ/NBVRU9/f MIME-Version: 1.0 X-Received: by 10.180.36.162 with SMTP id r2mr64778940wij.75.1419570980982; Thu, 25 Dec 2014 21:16:20 -0800 (PST) Received: by 10.194.56.41 with HTTP; Thu, 25 Dec 2014 21:16:20 -0800 (PST) Received: by 10.194.56.41 with HTTP; Thu, 25 Dec 2014 21:16:20 -0800 (PST) In-Reply-To: References: <1419389808-9559-1-git-send-email-changchun.ouyang@intel.com> <1419398584-19520-1-git-send-email-changchun.ouyang@intel.com> <549A9A28.10401@cloudius-systems.com> <549C0714.9010603@cloudius-systems.com> Date: Fri, 26 Dec 2014 07:16:20 +0200 Message-ID: From: Vladislav Zolotarov To: Changchun Ouyang Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH v3 0/6] Enable VF RSS for Niantic X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Dec 2014 05:16:21 -0000 On Dec 26, 2014 4:41 AM, "Ouyang, Changchun" wrote: > > > > > -----Original Message----- > > From: Vlad Zolotarov [mailto:vladz@cloudius-systems.com] > > Sent: Thursday, December 25, 2014 8:46 PM > > To: Ouyang, Changchun; dev@dpdk.org > > Subject: Re: [dpdk-dev] [PATCH v3 0/6] Enable VF RSS for Niantic > > > > > > On 12/25/14 04:26, Ouyang, Changchun wrote: > > > Hi, > > > > > >> -----Original Message----- > > >> From: Vlad Zolotarov [mailto:vladz@cloudius-systems.com] > > >> Sent: Wednesday, December 24, 2014 6:49 PM > > >> To: Ouyang, Changchun;dev@dpdk.org > > >> Subject: Re: [dpdk-dev] [PATCH v3 0/6] Enable VF RSS for Niantic > > >> > > >> > > >> On 12/24/14 07:22, Ouyang Changchun wrote: > > >>> This patch enables VF RSS for Niantic, which allow each VF having a= t > > >>> most 4 > > >> queues. > > >>> The actual queue number per VF depends on the total number of pool, > > >>> which is determined by the total number of VF at PF initialization > > >>> stage and the number of queue specified in config: > > >>> 1) If the number of VF is in the range from 1 to 32 and the number > > >>> of rxq is 4('--rxq 4' in testpmd), then there is totally 32 > > >>> pools(ETH_32_POOLS), and each VF have 4 queues; > > >>> > > >>> 2)If the number of VF is in the range from 33 to 64 and the number > > >>> of rxq is 2('--rxq 2' in testpmd), then there is totally 64 > > >>> pools(ETH_64_POOLS), and each VF have 2 queues; > > >>> > > >>> On host, to enable VF RSS functionality, rx mq mode should be set a= s > > >>> ETH_MQ_RX_VMDQ_RSS or ETH_MQ_RX_RSS mode, and SRIOV mode > > >> should be activated(max_vfs >=3D 1). > > >>> It also needs config VF RSS information like hash function, RSS key= , > > >>> RSS key > > >> length. > > >>> The limitation for Niantic VF RSS is: > > >>> the hash and key are shared among PF and all VF, the RETA table wit= h > > >>> 128 entries are also shared among PF and all VF. So it is not good > > >>> idea to query the hash and reta content per VF on guest, instead, i= t > > >>> makes > > >> sense to query them on host(PF). > > >>> v3 change: > > >>> - More cleanup; > > >> This series is still missing the appropriate patches in the > > >> rte_eth_dev_info_get() flow to return a reta_size for a VF device; > > >> and to > > >> rte_eth_dev_rss_reta_query() in the context of a VF device (I haven'= t > > >> noticed the initialization of a > > >> dev->dev_ops->reta_query for the VF device in this series). > > >> > > >> Without these code bits it's impossible to work with the VF devices > > >> in the RSS context the same way we work with the PF devices. It mean= s > > >> that we'll have to do some special branching to handle the VF device > > >> and this voids the whole meaning of the framework which in turn is very > > unfortunate. > > >> > > > Again pls try to query reta content on pf/host, this is due to hw > > > limitation, > > > > Again, I'm using DPDK from inside a Guest OS on Amazon Cloud. I have no > > and will never have an access to the PF due to obvious reasons thus I can't > > query it. > > Which HW limitations u are referring? It's a clear software issue - the VF-PF > > channel protocol should have a message to negotiate it but it looks like Intel > > hasn't cared to implemented it yet unless I miss something here. > > The problems don't end with the RETA. What about the hash key, which is > > also shared? There isn't an appropriate message to query it either. This is not > > a pure DPDK issue - it's a general issue with Linux 82599 drivers. > > > On this point, I agree with you, it is not pure dpdk issue, > Dpdk use share codes(partly come from Linux 82599, and logically similar with it) from another division, the hw is also implemented by that division= . > If we are talking about hw limitation and modify share code, linux 82599 driver to fully enable vf rss all > Functionality in Niantic, just talking about it in dpdk.org mailing list may not be enough. > Personally I think maybe you could find another effective and efficient way to raise your further request. You r right. Apparently at this point you just can't "meet my demands" because there's no support for these queries in the PF driver. ;) So, let's move on. I'll send the appropriate patch on the netdev list and we'll see how it goes from there. > > > > It don't affect any functionality, just the querying is special. > > > > How can u call the fact that some of DPDK API functionality is missing as "it > > don't affect any functionality"? Of course it affects it. Just like I said it may > > cause us treat the VF in the special way while there is not any real reason to > > do so. > I mean each vf could use multiple queues and do rss for packets, > This functionality works well. > If you could bypass the querying issue or handling it specially, you still could use the vf rss. > > > > Before this patch, customer often was notified Niantic can't support > > > vf rss, But with lots of experiments and find that it still has limited vf rss > > functionality. > > > Even on that, linux ixgbe driver has at most 2 queues per vf, But the > > > dpdk could enable 4 queues per vf. > > > In summary, dpdk could support vf rss on Niantic with at most 4 queue= s > > > per vf, but the querying of reta is very limited due to the HW limitation. > > > > Limited? I meant missing, right? > We are meaning same thing in different way, > "very limited" mean it still could query it on pf, but missing(or could not do it) on vf/guest Again, agreed. I just so pissed that we have to rewrite so nice design just because this simple piece of software is missing in the PF. > > > > > Hope you are on the same page now. We are now... =F0=9F=98=89 > > > > > > Thanks > > > Changchun > > > >