DPDK patches and discussions
 help / color / mirror / Atom feed
From: Vlad Zolotarov <vladz@cloudius-systems.com>
To: Ouyang Changchun <changchun.ouyang@intel.com>, dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH v3 0/6] Enable VF RSS for Niantic
Date: Wed, 24 Dec 2014 11:59:24 +0200	[thread overview]
Message-ID: <549A8E7C.7010806@cloudius-systems.com> (raw)
In-Reply-To: <1419398584-19520-1-git-send-email-changchun.ouyang@intel.com>


On 12/24/14 07:22, Ouyang Changchun wrote:
> This patch enables VF RSS for Niantic, which allow each VF having at 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 as ETH_MQ_RX_VMDQ_RSS
> or ETH_MQ_RX_RSS mode, and SRIOV mode should be activated(max_vfs >= 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

Hmmm... This kinda contradicts the previous sentence where u say that VF 
on the host should configure hash and RSS key. If PF and VF share the 
same hash and key what's the use of configuring it in VF? Could u 
clarify, please?

> , the RETA table with 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, it makes sense to query them on host(PF).

On the contrary - it's a very good idea! We use DPDK on Amazon's guests 
with enhanced networking and we have no access to the PF. We still need 
to know the RSS redirection rules for our VF pool. From the 82599 spec, 
chapter 4.6.10.1.1: "redirection table is common to all the pools and 
only indicates the queue inside the
pool to use once the pool is chosen". In that case we need to get the 
whole 128 entries of the RETA. Is there a reason why we can't have it?

>   
> v3 change:
>    - More cleanup;
>
> v2 change:
>    - Update the description;
>    - Use receiving queue number('--rxq <q-num>') specified in config to determine the number of pool and
>      the number of queue per VF;
>   
> v1 change:
>    - Config VF RSS;
>
> Changchun Ouyang (6):
>    ixgbe: Code cleanup
>    ixgbe: Negotiate VF API version
>    ixgbe: Get VF queue number
>    ether: Check VMDq RSS mode
>    ixgbe: Config VF RSS
>    testpmd: Set Rx VMDq RSS mode
>
>   app/test-pmd/testpmd.c              |  10 +++
>   lib/librte_ether/rte_ethdev.c       |  39 +++++++++--
>   lib/librte_pmd_ixgbe/ixgbe_ethdev.h |   1 +
>   lib/librte_pmd_ixgbe/ixgbe_pf.c     |  75 ++++++++++++++++++++-
>   lib/librte_pmd_ixgbe/ixgbe_rxtx.c   | 127 ++++++++++++++++++++++++++++--------
>   5 files changed, 219 insertions(+), 33 deletions(-)
>

  parent reply	other threads:[~2014-12-24  9:59 UTC|newest]

Thread overview: 144+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-15  2:56 [dpdk-dev] [PATCH " Ouyang Changchun
2014-12-15  2:57 ` [dpdk-dev] [PATCH 1/6] ixgbe: Code cleanup Ouyang Changchun
2014-12-15  2:57 ` [dpdk-dev] [PATCH 2/6] ixgbe: Negotiate VF API version Ouyang Changchun
2014-12-15  2:57 ` [dpdk-dev] [PATCH 3/6] ixgbe: Get VF queue number Ouyang Changchun
2014-12-15  2:57 ` [dpdk-dev] [PATCH 4/6] ether: Check VMDq RSS mode Ouyang Changchun
2014-12-15  2:57 ` [dpdk-dev] [PATCH 5/6] ixgbe: Config VF RSS Ouyang Changchun
2014-12-15  2:57 ` [dpdk-dev] [PATCH 6/6] testpmd: Set Rx VMDq RSS mode Ouyang Changchun
2014-12-15 10:55 ` [dpdk-dev] [PATCH 0/6] Enable VF RSS for Niantic Bruce Richardson
2014-12-16  0:58   ` Ouyang, Changchun
2014-12-24  2:56 ` [dpdk-dev] [PATCH v2 " Ouyang Changchun
2014-12-24  2:56   ` [dpdk-dev] [PATCH v2 1/6] ixgbe: Code cleanup Ouyang Changchun
2014-12-24  3:08     ` Zhang, Helin
2014-12-24  3:22       ` Ouyang, Changchun
2014-12-24  3:41         ` Zhang, Helin
2014-12-24  3:50           ` Ouyang, Changchun
2014-12-24  3:53             ` Zhang, Helin
2014-12-24  4:46               ` Ouyang, Changchun
2014-12-24  2:56   ` [dpdk-dev] [PATCH v2 2/6] ixgbe: Negotiate VF API version Ouyang Changchun
2014-12-24  2:56   ` [dpdk-dev] [PATCH v2 3/6] ixgbe: Get VF queue number Ouyang Changchun
2014-12-24  2:56   ` [dpdk-dev] [PATCH v2 4/6] ether: Check VMDq RSS mode Ouyang Changchun
2014-12-24  2:56   ` [dpdk-dev] [PATCH v2 5/6] ixgbe: Config VF RSS Ouyang Changchun
2014-12-24  2:56   ` [dpdk-dev] [PATCH v2 6/6] testpmd: Set Rx VMDq RSS mode Ouyang Changchun
2014-12-24  5:22   ` [dpdk-dev] [PATCH v3 0/6] Enable VF RSS for Niantic Ouyang Changchun
2014-12-24  5:22     ` [dpdk-dev] [PATCH v3 1/6] ixgbe: Code cleanup Ouyang Changchun
2014-12-24  5:23     ` [dpdk-dev] [PATCH v3 2/6] ixgbe: Negotiate VF API version Ouyang Changchun
2014-12-24  5:23     ` [dpdk-dev] [PATCH v3 3/6] ixgbe: Get VF queue number Ouyang Changchun
2014-12-24  5:23     ` [dpdk-dev] [PATCH v3 4/6] ether: Check VMDq RSS mode Ouyang Changchun
2014-12-24  5:23     ` [dpdk-dev] [PATCH v3 5/6] ixgbe: Config VF RSS Ouyang Changchun
2014-12-24 10:39       ` Vlad Zolotarov
2014-12-25  2:14         ` Ouyang, Changchun
2014-12-25 13:13           ` Vlad Zolotarov
2014-12-26  2:07             ` Ouyang, Changchun
2014-12-25  2:43         ` Ouyang, Changchun
2014-12-25 13:20           ` Vlad Zolotarov
2014-12-26  1:52             ` Ouyang, Changchun
2014-12-26  6:49               ` Vladislav Zolotarov
2014-12-26  7:26                 ` Ouyang, Changchun
2014-12-26  7:37                   ` Vladislav Zolotarov
2014-12-26  8:45                     ` Ouyang, Changchun
2014-12-28 10:14                       ` Vlad Zolotarov
2015-01-05 10:29               ` Bruce Richardson
2015-01-06  1:00                 ` Ouyang, Changchun
2014-12-25 13:38           ` Vlad Zolotarov
2014-12-26  1:26             ` Ouyang, Changchun
2015-01-04  2:10       ` Liang, Cunming
2015-01-04  6:25         ` Ouyang, Changchun
2014-12-24  5:23     ` [dpdk-dev] [PATCH v3 6/6] testpmd: Set Rx VMDq RSS mode Ouyang Changchun
2014-12-24  9:59     ` Vlad Zolotarov [this message]
2014-12-25  1:46       ` [dpdk-dev] [PATCH v3 0/6] Enable VF RSS for Niantic Ouyang, Changchun
2015-01-05 10:38         ` Bruce Richardson
2015-01-05 13:02           ` Vlad Zolotarov
2015-01-06  1:11             ` Ouyang, Changchun
2015-01-06 11:18               ` Vlad Zolotarov
2015-01-06 11:18               ` Vlad Zolotarov
2015-01-06  1:04           ` Ouyang, Changchun
2014-12-24 10:49     ` Vlad Zolotarov
2014-12-25  2:26       ` Ouyang, Changchun
2014-12-25 12:46         ` Vlad Zolotarov
2014-12-26  2:37           ` Ouyang, Changchun
     [not found]             ` <CAOYyTHbrB-VinN5ZEd1tYTnS7_GhCT1jiHiZzNKkQUEJ1rG79w@mail.gmail.com>
2014-12-26  5:16               ` Vladislav Zolotarov
2014-12-26  5:25                 ` Ouyang, Changchun
2015-01-04  7:18     ` [dpdk-dev] [PATCH v4 " Ouyang Changchun
2015-01-04  7:18       ` [dpdk-dev] [PATCH v4 1/6] ixgbe: Code cleanup Ouyang Changchun
2015-01-04  8:22         ` Vlad Zolotarov
2015-01-04  7:18       ` [dpdk-dev] [PATCH v4 2/6] ixgbe: Negotiate VF API version Ouyang Changchun
2015-01-04  8:26         ` Vlad Zolotarov
2015-01-04  8:30           ` Vlad Zolotarov
2015-01-04  8:37             ` Ouyang, Changchun
2015-01-04  8:40               ` Vlad Zolotarov
2015-01-04  8:51                 ` Ouyang, Changchun
2015-01-04  9:37                   ` Vlad Zolotarov
2015-01-04  7:18       ` [dpdk-dev] [PATCH v4 3/6] ixgbe: Get VF queue number Ouyang Changchun
2015-01-04  8:38         ` Vlad Zolotarov
2015-01-05  2:59           ` Ouyang, Changchun
2015-01-05 10:07             ` Vlad Zolotarov
2015-01-06  1:54               ` Ouyang, Changchun
2015-01-06 11:26                 ` Vlad Zolotarov
2015-01-07  1:18                   ` Ouyang, Changchun
2015-01-04  7:18       ` [dpdk-dev] [PATCH v4 4/6] ether: Check VMDq RSS mode Ouyang Changchun
2015-01-04  8:45         ` Vlad Zolotarov
2015-01-04  8:58           ` Ouyang, Changchun
2015-01-04  9:45             ` Vlad Zolotarov
2015-01-05  1:00               ` Ouyang, Changchun
2015-01-05 10:09                 ` Vlad Zolotarov
2015-01-06  1:56                   ` Ouyang, Changchun
2015-01-06 19:56                     ` Vlad Zolotarov
2015-01-07  2:28                       ` Ouyang, Changchun
2015-01-04  7:18       ` [dpdk-dev] [PATCH v4 5/6] ixgbe: Config VF RSS Ouyang Changchun
2015-01-04  7:18       ` [dpdk-dev] [PATCH v4 6/6] testpmd: Set Rx VMDq RSS mode Ouyang Changchun
2015-01-04  8:49         ` Vlad Zolotarov
2015-01-04  9:01           ` Ouyang, Changchun
2015-01-04  9:46             ` Vlad Zolotarov
2015-01-05  2:38               ` Ouyang, Changchun
2015-01-05 10:12                 ` Vlad Zolotarov
2015-01-06  2:01                   ` Ouyang, Changchun
2015-01-06 12:53                     ` Vlad Zolotarov
2015-01-07  1:50                       ` Ouyang, Changchun
2015-01-07  6:32       ` [dpdk-dev] [PATCH v5 0/6] Enable VF RSS for Niantic Ouyang Changchun
2015-01-07  6:32         ` [dpdk-dev] [PATCH v5 1/6] ixgbe: Code cleanup Ouyang Changchun
2015-01-07  6:32         ` [dpdk-dev] [PATCH v5 2/6] ixgbe: Negotiate VF API version Ouyang Changchun
2015-01-07  6:32         ` [dpdk-dev] [PATCH v5 3/6] ixgbe: Get VF queue number Ouyang Changchun
2015-01-08  9:01           ` Vlad Zolotarov
2015-01-07  6:32         ` [dpdk-dev] [PATCH v5 4/6] ether: Check VMDq RSS mode Ouyang Changchun
2015-01-08  9:19           ` Vlad Zolotarov
2015-01-08 18:48             ` Vlad Zolotarov
2015-01-09  5:54               ` Ouyang, Changchun
2015-01-09 13:49                 ` Vlad Zolotarov
2015-01-12  3:41                   ` Ouyang, Changchun
2015-01-12 13:58                     ` Vlad Zolotarov
2015-01-13  1:50                       ` Ouyang, Changchun
2015-01-13  9:00                         ` Vlad Zolotarov
2015-01-14  0:44                           ` Ouyang, Changchun
2015-01-07  6:32         ` [dpdk-dev] [PATCH v5 5/6] ixgbe: Config VF RSS Ouyang Changchun
2015-01-08  9:43           ` Vlad Zolotarov
2015-01-09  6:07             ` Ouyang, Changchun
2015-01-09 14:01               ` Vlad Zolotarov
2015-01-12  5:11                 ` Ouyang, Changchun
2015-01-07  6:32         ` [dpdk-dev] [PATCH v5 6/6] testpmd: Set Rx VMDq RSS mode Ouyang Changchun
2015-01-08  9:46           ` Vlad Zolotarov
2015-01-08  9:56         ` [dpdk-dev] [PATCH v5 0/6] Enable VF RSS for Niantic Vlad Zolotarov
2015-01-18 21:58           ` Thomas Monjalon
2015-01-19  9:40             ` Vlad Zolotarov
2015-01-12  5:59         ` [dpdk-dev] [PATCH v6 " Ouyang Changchun
2015-01-12  5:59           ` [dpdk-dev] [PATCH v6 1/6] ixgbe: Code cleanup Ouyang Changchun
2015-01-12  5:59           ` [dpdk-dev] [PATCH v6 2/6] ixgbe: Negotiate VF API version Ouyang Changchun
2015-01-12  5:59           ` [dpdk-dev] [PATCH v6 3/6] ixgbe: Get VF queue number Ouyang Changchun
2015-01-19  9:13             ` Wodkowski, PawelX
2015-01-20  0:54               ` Ouyang, Changchun
2015-01-12  5:59           ` [dpdk-dev] [PATCH v6 4/6] ether: Check VMDq RSS mode Ouyang Changchun
2015-01-12 14:06             ` Vlad Zolotarov
2015-01-18 22:04             ` Thomas Monjalon
2015-01-19 10:31             ` Wodkowski, PawelX
2015-01-20  1:03               ` Ouyang, Changchun
2015-01-12  5:59           ` [dpdk-dev] [PATCH v6 5/6] ixgbe: Config VF RSS Ouyang Changchun
2015-01-12 14:04             ` Vlad Zolotarov
2015-01-20  9:35             ` Wodkowski, PawelX
2015-01-21  2:43               ` Ouyang, Changchun
2015-01-21  8:44                 ` Wodkowski, PawelX
2015-01-22 12:59                   ` Vlad Zolotarov
2015-01-22 13:19                     ` Wodkowski, PawelX
2015-01-12  5:59           ` [dpdk-dev] [PATCH v6 6/6] testpmd: Set Rx VMDq RSS mode Ouyang Changchun
2015-01-12 14:05             ` Vlad Zolotarov
2015-01-18 22:24           ` [dpdk-dev] [PATCH v6 0/6] Enable VF RSS for Niantic Thomas Monjalon
2015-01-19  4:51             ` Ouyang, Changchun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=549A8E7C.7010806@cloudius-systems.com \
    --to=vladz@cloudius-systems.com \
    --cc=changchun.ouyang@intel.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).