DPDK patches and discussions
 help / color / mirror / Atom feed
From: Vladislav Zolotarov <vladz@cloudius-systems.com>
To: Changchun Ouyang <changchun.ouyang@intel.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH v3 0/6] Enable VF RSS for Niantic
Date: Fri, 26 Dec 2014 07:16:20 +0200	[thread overview]
Message-ID: <CAOYyTHaYdLUCq2ATCbWu6sWY4StQLRmGb7uhnhO3t-nxG4KTjA@mail.gmail.com> (raw)
In-Reply-To: <CAOYyTHbrB-VinN5ZEd1tYTnS7_GhCT1jiHiZzNKkQUEJ1rG79w@mail.gmail.com>

On Dec 26, 2014 4:41 AM, "Ouyang, Changchun" <changchun.ouyang@intel.com>
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 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, 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).
> > >>> 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 means
> > >> 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 queues
> > > 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... 😉

> > >
> > > Thanks
> > > Changchun
> > >
>

  parent reply	other threads:[~2014-12-26  5:16 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     ` [dpdk-dev] [PATCH v3 0/6] Enable VF RSS for Niantic Vlad Zolotarov
2014-12-25  1:46       ` 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 [this message]
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=CAOYyTHaYdLUCq2ATCbWu6sWY4StQLRmGb7uhnhO3t-nxG4KTjA@mail.gmail.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).