From: Slava Ovsiienko <viacheslavo@nvidia.com> To: Ferruh Yigit <ferruh.yigit@intel.com>, Andrew Rybchenko <Andrew.Rybchenko@oktetlabs.ru>, "dev@dpdk.org" <dev@dpdk.org> Cc: Thomas Monjalon <thomasm@mellanox.com>, "stephen@networkplumber.org" <stephen@networkplumber.org>, Shahaf Shuler <shahafs@nvidia.com>, "olivier.matz@6wind.com" <olivier.matz@6wind.com>, "jerinjacobk@gmail.com" <jerinjacobk@gmail.com>, "maxime.coquelin@redhat.com" <maxime.coquelin@redhat.com>, "david.marchand@redhat.com" <david.marchand@redhat.com>, Asaf Penso <asafp@nvidia.com>, "Konstantin Ananyev" <konstantin.ananyev@intel.com> Subject: Re: [dpdk-dev] [RFC] ethdev: introduce Rx buffer split Date: Wed, 14 Oct 2020 07:37:09 +0000 Message-ID: <MWHPR12MB1360FD6DC0C40DD0047C3163DF050@MWHPR12MB1360.namprd12.prod.outlook.com> (raw) In-Reply-To: <90d1f9d6-9183-838b-2cf8-d276aa4f42b1@intel.com> > -----Original Message----- > From: Ferruh Yigit <ferruh.yigit@intel.com> > Sent: Wednesday, October 14, 2020 0:59 > To: Slava Ovsiienko <viacheslavo@nvidia.com>; Andrew Rybchenko > <Andrew.Rybchenko@oktetlabs.ru>; dev@dpdk.org > Cc: Thomas Monjalon <thomasm@mellanox.com>; > stephen@networkplumber.org; Shahaf Shuler <shahafs@nvidia.com>; > olivier.matz@6wind.com; jerinjacobk@gmail.com; > maxime.coquelin@redhat.com; david.marchand@redhat.com; Asaf Penso > <asafp@nvidia.com>; Konstantin Ananyev > <konstantin.ananyev@intel.com> > Subject: Re: [dpdk-dev] [RFC] ethdev: introduce Rx buffer split > > On 10/12/2020 10:56 AM, Slava Ovsiienko wrote: > > Hi, Andrew > > > > Thank you for the comments. > > > > We have two approaches how to specify multiple segments to split Rx > packets: > > 1. update queue configuration structure 2. introduce new > > rx_queue_setup_ex() routine with extra parameters. > > > > For [1] my only actual dislike is that we would have multiple places > > to specify the pool - in rx_queue_setup() and in the config structure. > > So, we should implement some checking (if we have offload flag set we > > should check whether mp parameter is NULL and segment descriptions > > array pointer/size is provided, if no offload flag set - we must check the > description array is empty). > > > >> @Thomas, @Ferruh: I'd like to hear what other ethdev maintainers > >> think about it. > > > > Yes, it would be very nice to hear extra opinions. Do we think the > > providing of extra API function is worse than extending existing > > structure, introducing some conditional ambiguity and complicating the > > parameter compliance check? > > > > I think decision was given with the deprecation notice which already says > ``rte_eth_rxconf`` will be updated for this. > > With new API, we need to create a new dev_ops too, not sure about creating > a new dev_ops for a single PMD. I would rather consider the feature as generic one, not as for "single PMD". Currently DPDK does not provide any flexibility about Rx buffer and applications just have no way to control Rx buffer(s) attributes. I suppose the split is not very specific to mlx5, it is very likely the hardware of many other vendors should be capable to perform the same things. > > For the PMD that supports this feature will need two dev_ops that is fairly > close to each other, as Andrew mentioned this is a duplication. > > And from user perspective two setup functions with overlaps can be > confusing. > > +1 to having single setup function but update the config, and I can see > +v5 sent > this way, I will check it. OK, got it, thank you very much for the opinion, let's move in this way. v5 with reverted (back to deprecation notice) approach is sent, I will address the comments. With best regards, Slaa
next prev parent reply other threads:[~2020-10-14 7:37 UTC|newest] Thread overview: 172+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-08-17 17:49 Slava Ovsiienko 2020-09-17 16:55 ` Andrew Rybchenko 2020-10-01 8:54 ` Slava Ovsiienko 2020-10-12 8:45 ` Andrew Rybchenko 2020-10-12 9:56 ` Slava Ovsiienko 2020-10-12 15:14 ` Thomas Monjalon 2020-10-12 15:28 ` Ananyev, Konstantin 2020-10-12 15:34 ` Slava Ovsiienko 2020-10-12 15:56 ` Ananyev, Konstantin 2020-10-12 15:59 ` Slava Ovsiienko 2020-10-12 16:52 ` Thomas Monjalon 2020-10-12 16:03 ` Andrew Rybchenko 2020-10-12 16:10 ` Slava Ovsiienko 2020-10-13 21:59 ` Ferruh Yigit 2020-10-14 7:17 ` Thomas Monjalon 2020-10-14 7:37 ` Slava Ovsiienko [this message] 2020-10-05 6:26 ` [dpdk-dev] [PATCH 0/5] " Viacheslav Ovsiienko 2020-10-05 6:26 ` [dpdk-dev] [PATCH 1/5] " Viacheslav Ovsiienko 2020-10-05 6:26 ` [dpdk-dev] [PATCH 2/5] app/testpmd: add multiple pools per core creation Viacheslav Ovsiienko 2020-10-05 6:26 ` [dpdk-dev] [PATCH 3/5] app/testpmd: add buffer split offload configuration Viacheslav Ovsiienko 2020-10-05 6:26 ` [dpdk-dev] [PATCH 4/5] app/testpmd: add rxpkts commands and parameters Viacheslav Ovsiienko 2020-10-05 6:26 ` [dpdk-dev] [PATCH 5/5] app/testpmd: add extended Rx queue setup Viacheslav Ovsiienko 2020-10-07 15:06 ` [dpdk-dev] [PATCH v2 0/9] ethdev: introduce Rx buffer split Viacheslav Ovsiienko 2020-10-07 15:06 ` [dpdk-dev] [PATCH v2 1/9] " Viacheslav Ovsiienko 2020-10-11 22:17 ` Thomas Monjalon 2020-10-12 9:40 ` Slava Ovsiienko 2020-10-12 10:09 ` Thomas Monjalon 2020-10-07 15:06 ` [dpdk-dev] [PATCH v2 2/9] app/testpmd: add multiple pools per core creation Viacheslav Ovsiienko 2020-10-07 15:06 ` [dpdk-dev] [PATCH v2 3/9] app/testpmd: add buffer split offload configuration Viacheslav Ovsiienko 2020-10-07 15:06 ` [dpdk-dev] [PATCH v2 4/9] app/testpmd: add rxpkts commands and parameters Viacheslav Ovsiienko 2020-10-07 15:06 ` [dpdk-dev] [PATCH v2 5/9] app/testpmd: add extended Rx queue setup Viacheslav Ovsiienko 2020-10-07 15:06 ` [dpdk-dev] [PATCH v2 6/9] net/mlx5: add extended Rx queue setup routine Viacheslav Ovsiienko 2020-10-07 15:06 ` [dpdk-dev] [PATCH v2 7/9] net/mlx5: configure Rx queue to support split Viacheslav Ovsiienko 2020-10-07 15:06 ` [dpdk-dev] [PATCH v2 8/9] net/mlx5: register multiple pool for Rx queue Viacheslav Ovsiienko 2020-10-07 15:06 ` [dpdk-dev] [PATCH v2 9/9] net/mlx5: update Rx datapath to support split Viacheslav Ovsiienko 2020-10-12 16:19 ` [dpdk-dev] [PATCH v3 0/9] ethdev: introduce Rx buffer split Viacheslav Ovsiienko 2020-10-12 16:19 ` [dpdk-dev] [PATCH v3 1/9] " Viacheslav Ovsiienko 2020-10-12 16:38 ` Andrew Rybchenko 2020-10-12 17:03 ` Thomas Monjalon 2020-10-12 17:11 ` Andrew Rybchenko 2020-10-12 20:22 ` Slava Ovsiienko 2020-10-12 17:11 ` Slava Ovsiienko 2020-10-12 16:19 ` [dpdk-dev] [PATCH v3 2/9] app/testpmd: add multiple pools per core creation Viacheslav Ovsiienko 2020-10-12 16:19 ` [dpdk-dev] [PATCH v3 3/9] app/testpmd: add buffer split offload configuration Viacheslav Ovsiienko 2020-10-12 16:19 ` [dpdk-dev] [PATCH v3 4/9] app/testpmd: add rxpkts commands and parameters Viacheslav Ovsiienko 2020-10-12 16:19 ` [dpdk-dev] [PATCH v3 5/9] app/testpmd: add extended Rx queue setup Viacheslav Ovsiienko 2020-10-12 16:19 ` [dpdk-dev] [PATCH v3 6/9] net/mlx5: add extended Rx queue setup routine Viacheslav Ovsiienko 2020-10-12 16:19 ` [dpdk-dev] [PATCH v3 7/9] net/mlx5: configure Rx queue to support split Viacheslav Ovsiienko 2020-10-12 16:19 ` [dpdk-dev] [PATCH v3 8/9] net/mlx5: register multiple pool for Rx queue Viacheslav Ovsiienko 2020-10-12 16:19 ` [dpdk-dev] [PATCH v3 9/9] net/mlx5: update Rx datapath to support split Viacheslav Ovsiienko 2020-10-12 20:09 ` [dpdk-dev] [PATCH v4 0/9] ethdev: introduce Rx buffer split Viacheslav Ovsiienko 2020-10-12 20:09 ` [dpdk-dev] [PATCH v4 1/9] " Viacheslav Ovsiienko 2020-10-12 20:09 ` [dpdk-dev] [PATCH v4 2/9] app/testpmd: add multiple pools per core creation Viacheslav Ovsiienko 2020-10-12 20:09 ` [dpdk-dev] [PATCH v4 3/9] app/testpmd: add buffer split offload configuration Viacheslav Ovsiienko 2020-10-12 20:09 ` [dpdk-dev] [PATCH v4 4/9] app/testpmd: add rxpkts commands and parameters Viacheslav Ovsiienko 2020-10-12 20:09 ` [dpdk-dev] [PATCH v4 5/9] app/testpmd: add extended Rx queue setup Viacheslav Ovsiienko 2020-10-12 20:09 ` [dpdk-dev] [PATCH v4 6/9] net/mlx5: add extended Rx queue setup routine Viacheslav Ovsiienko 2020-10-12 20:10 ` [dpdk-dev] [PATCH v4 7/9] net/mlx5: configure Rx queue to support split Viacheslav Ovsiienko 2020-10-12 20:10 ` [dpdk-dev] [PATCH v4 8/9] net/mlx5: register multiple pool for Rx queue Viacheslav Ovsiienko 2020-10-12 20:10 ` [dpdk-dev] [PATCH v4 9/9] net/mlx5: update Rx datapath to support split Viacheslav Ovsiienko 2020-10-13 19:21 ` [dpdk-dev] [PATCH v5 0/6] ethdev: introduce Rx buffer split Viacheslav Ovsiienko 2020-10-13 19:21 ` [dpdk-dev] [PATCH v5 1/6] " Viacheslav Ovsiienko 2020-10-13 22:34 ` Ferruh Yigit 2020-10-14 13:31 ` Olivier Matz 2020-10-14 14:42 ` Slava Ovsiienko 2020-10-13 19:21 ` [dpdk-dev] [PATCH v5 2/6] app/testpmd: add multiple pools per core creation Viacheslav Ovsiienko 2020-10-13 19:21 ` [dpdk-dev] [PATCH v5 3/6] app/testpmd: add buffer split offload configuration Viacheslav Ovsiienko 2020-10-13 19:21 ` [dpdk-dev] [PATCH v5 4/6] app/testpmd: add rxpkts commands and parameters Viacheslav Ovsiienko 2020-10-13 19:21 ` [dpdk-dev] [PATCH v5 5/6] app/testpmd: add rxoffs " Viacheslav Ovsiienko 2020-10-13 19:21 ` [dpdk-dev] [PATCH v5 6/6] app/testpmd: add extended Rx queue setup Viacheslav Ovsiienko 2020-10-14 18:11 ` [dpdk-dev] [PATCH v6 0/6] ethdev: introduce Rx buffer split Viacheslav Ovsiienko 2020-10-14 18:11 ` [dpdk-dev] [PATCH v6 1/6] " Viacheslav Ovsiienko 2020-10-14 18:57 ` Jerin Jacob 2020-10-15 7:43 ` Slava Ovsiienko 2020-10-15 9:27 ` Jerin Jacob 2020-10-15 10:27 ` Jerin Jacob 2020-10-15 10:51 ` Slava Ovsiienko 2020-10-15 11:26 ` Jerin Jacob 2020-10-15 11:36 ` Ferruh Yigit 2020-10-15 11:49 ` Slava Ovsiienko 2020-10-15 12:49 ` Thomas Monjalon 2020-10-15 13:07 ` Andrew Rybchenko 2020-10-15 13:57 ` Slava Ovsiienko 2020-10-15 20:22 ` Slava Ovsiienko 2020-10-15 9:49 ` Andrew Rybchenko 2020-10-15 10:34 ` Slava Ovsiienko 2020-10-15 11:09 ` Andrew Rybchenko 2020-10-15 14:39 ` Slava Ovsiienko 2020-10-14 22:13 ` Thomas Monjalon 2020-10-14 22:50 ` Ajit Khaparde 2020-10-15 10:11 ` Andrew Rybchenko 2020-10-15 10:19 ` Thomas Monjalon 2020-10-14 18:11 ` [dpdk-dev] [PATCH v6 2/6] app/testpmd: add multiple pools per core creation Viacheslav Ovsiienko 2020-10-14 18:11 ` [dpdk-dev] [PATCH v6 3/6] app/testpmd: add buffer split offload configuration Viacheslav Ovsiienko 2020-10-14 18:12 ` [dpdk-dev] [PATCH v6 4/6] app/testpmd: add rxpkts commands and parameters Viacheslav Ovsiienko 2020-10-14 18:12 ` [dpdk-dev] [PATCH v6 5/6] app/testpmd: add rxoffs " Viacheslav Ovsiienko 2020-10-14 18:12 ` [dpdk-dev] [PATCH v6 6/6] app/testpmd: add extended Rx queue setup Viacheslav Ovsiienko 2020-10-15 0:55 ` [dpdk-dev] [PATCH v2] eal/rte_malloc: add alloc_size() attribute to allocation functions Stephen Hemminger 2020-10-19 14:13 ` Thomas Monjalon 2020-10-19 14:22 ` Thomas Monjalon 2020-10-15 20:17 ` [dpdk-dev] [PATCH v7 0/6] ethdev: introduce Rx buffer split Viacheslav Ovsiienko 2020-10-15 20:17 ` [dpdk-dev] [PATCH v7 1/6] " Viacheslav Ovsiienko 2020-10-15 20:30 ` Jerin Jacob 2020-10-15 20:33 ` Thomas Monjalon 2020-10-15 22:01 ` Ajit Khaparde 2020-10-15 20:17 ` [dpdk-dev] [PATCH v7 2/6] app/testpmd: add multiple pools per core creation Viacheslav Ovsiienko 2020-10-15 20:17 ` [dpdk-dev] [PATCH v7 3/6] app/testpmd: add buffer split offload configuration Viacheslav Ovsiienko 2020-10-15 20:17 ` [dpdk-dev] [PATCH v7 4/6] app/testpmd: add rxpkts commands and parameters Viacheslav Ovsiienko 2020-10-15 20:17 ` [dpdk-dev] [PATCH v7 5/6] app/testpmd: add rxoffs " Viacheslav Ovsiienko 2020-10-15 20:17 ` [dpdk-dev] [PATCH v7 6/6] app/testpmd: add extended Rx queue setup Viacheslav Ovsiienko 2020-10-16 7:48 ` [dpdk-dev] [PATCH v8 0/6] ethdev: introduce Rx buffer split Viacheslav Ovsiienko 2020-10-16 7:48 ` [dpdk-dev] [PATCH v8 1/6] " Viacheslav Ovsiienko 2020-10-16 8:51 ` Andrew Rybchenko 2020-10-16 8:58 ` Andrew Rybchenko 2020-10-16 9:15 ` Slava Ovsiienko 2020-10-16 9:27 ` Andrew Rybchenko 2020-10-16 9:34 ` Slava Ovsiienko 2020-10-16 9:37 ` Thomas Monjalon 2020-10-16 9:38 ` Slava Ovsiienko 2020-10-16 9:19 ` Ferruh Yigit 2020-10-16 9:21 ` Andrew Rybchenko 2020-10-16 9:22 ` Slava Ovsiienko 2020-10-16 7:48 ` [dpdk-dev] [PATCH v8 2/6] app/testpmd: add multiple pools per core creation Viacheslav Ovsiienko 2020-10-16 7:48 ` [dpdk-dev] [PATCH v8 3/6] app/testpmd: add buffer split offload configuration Viacheslav Ovsiienko 2020-10-16 7:48 ` [dpdk-dev] [PATCH v8 4/6] app/testpmd: add rxpkts commands and parameters Viacheslav Ovsiienko 2020-10-16 7:48 ` [dpdk-dev] [PATCH v8 5/6] app/testpmd: add rxoffs " Viacheslav Ovsiienko 2020-10-16 7:48 ` [dpdk-dev] [PATCH v8 6/6] app/testpmd: add extended Rx queue setup Viacheslav Ovsiienko 2020-10-16 10:22 ` [dpdk-dev] [PATCH v9 0/6] ethdev: introduce Rx buffer split Viacheslav Ovsiienko 2020-10-16 10:22 ` [dpdk-dev] [PATCH v9 1/6] " Viacheslav Ovsiienko 2020-10-16 11:21 ` Ferruh Yigit 2020-10-16 13:08 ` Slava Ovsiienko 2020-10-16 10:22 ` [dpdk-dev] [PATCH v9 2/6] app/testpmd: add multiple pools per core creation Viacheslav Ovsiienko 2020-10-16 10:22 ` [dpdk-dev] [PATCH v9 3/6] app/testpmd: add buffer split offload configuration Viacheslav Ovsiienko 2020-10-16 10:22 ` [dpdk-dev] [PATCH v9 4/6] app/testpmd: add rxpkts commands and parameters Viacheslav Ovsiienko 2020-10-16 10:22 ` [dpdk-dev] [PATCH v9 5/6] app/testpmd: add rxoffs " Viacheslav Ovsiienko 2020-10-16 10:22 ` [dpdk-dev] [PATCH v9 6/6] app/testpmd: add extended Rx queue setup Viacheslav Ovsiienko 2020-10-16 12:41 ` [dpdk-dev] [PATCH v10 0/6] ethdev: introduce Rx buffer split Viacheslav Ovsiienko 2020-10-16 12:41 ` [dpdk-dev] [PATCH v10 1/6] " Viacheslav Ovsiienko 2020-10-16 12:41 ` [dpdk-dev] [PATCH v10 2/6] app/testpmd: add multiple pools per core creation Viacheslav Ovsiienko 2020-10-16 12:41 ` [dpdk-dev] [PATCH v10 3/6] app/testpmd: add buffer split offload configuration Viacheslav Ovsiienko 2020-10-16 12:41 ` [dpdk-dev] [PATCH v10 4/6] app/testpmd: add rxpkts commands and parameters Viacheslav Ovsiienko 2020-10-16 12:41 ` [dpdk-dev] [PATCH v10 5/6] app/testpmd: add rxoffs " Viacheslav Ovsiienko 2020-10-16 12:41 ` [dpdk-dev] [PATCH v10 6/6] app/testpmd: add extended Rx queue setup Viacheslav Ovsiienko 2020-10-16 13:39 ` [dpdk-dev] [PATCH v11 0/6] ethdev: introduce Rx buffer split Viacheslav Ovsiienko 2020-10-16 13:39 ` [dpdk-dev] [PATCH v11 1/6] " Viacheslav Ovsiienko 2020-10-16 15:14 ` Thomas Monjalon 2020-10-16 16:18 ` Slava Ovsiienko 2020-10-16 15:47 ` Ferruh Yigit 2020-10-16 16:05 ` Thomas Monjalon 2020-10-16 16:06 ` Ferruh Yigit 2020-10-16 13:39 ` [dpdk-dev] [PATCH v11 2/6] app/testpmd: add multiple pools per core creation Viacheslav Ovsiienko 2020-10-16 15:05 ` Ferruh Yigit 2020-10-16 15:38 ` Ferruh Yigit 2020-10-16 15:48 ` Slava Ovsiienko 2020-10-16 15:52 ` Ferruh Yigit 2020-10-16 15:55 ` Slava Ovsiienko 2020-10-16 15:57 ` Ferruh Yigit 2020-10-16 13:39 ` [dpdk-dev] [PATCH v11 3/6] app/testpmd: add buffer split offload configuration Viacheslav Ovsiienko 2020-10-16 13:39 ` [dpdk-dev] [PATCH v11 4/6] app/testpmd: add rxpkts commands and parameters Viacheslav Ovsiienko 2020-10-16 13:39 ` [dpdk-dev] [PATCH v11 5/6] app/testpmd: add rxoffs " Viacheslav Ovsiienko 2020-10-16 13:39 ` [dpdk-dev] [PATCH v11 6/6] app/testpmd: add extended Rx queue setup Viacheslav Ovsiienko 2020-10-16 16:44 ` [dpdk-dev] [PATCH v12 0/6] ethdev: introduce Rx buffer split Viacheslav Ovsiienko 2020-10-16 16:44 ` [dpdk-dev] [PATCH v12 1/6] " Viacheslav Ovsiienko 2020-10-16 19:22 ` Ferruh Yigit 2020-10-16 21:36 ` Ferruh Yigit 2020-10-16 16:44 ` [dpdk-dev] [PATCH v12 2/6] app/testpmd: add multiple pools per core creation Viacheslav Ovsiienko 2020-10-16 16:44 ` [dpdk-dev] [PATCH v12 3/6] app/testpmd: add buffer split offload configuration Viacheslav Ovsiienko 2020-10-16 16:44 ` [dpdk-dev] [PATCH v12 4/6] app/testpmd: add rxpkts commands and parameters Viacheslav Ovsiienko 2020-10-16 16:44 ` [dpdk-dev] [PATCH v12 5/6] app/testpmd: add rxoffs " Viacheslav Ovsiienko 2020-10-16 16:44 ` [dpdk-dev] [PATCH v12 6/6] app/testpmd: add extended Rx queue setup Viacheslav Ovsiienko 2020-10-16 17:05 ` [dpdk-dev] [PATCH v12 0/6] ethdev: introduce Rx buffer split Ferruh Yigit 2020-10-16 17:07 ` Slava Ovsiienko
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=MWHPR12MB1360FD6DC0C40DD0047C3163DF050@MWHPR12MB1360.namprd12.prod.outlook.com \ --to=viacheslavo@nvidia.com \ --cc=Andrew.Rybchenko@oktetlabs.ru \ --cc=asafp@nvidia.com \ --cc=david.marchand@redhat.com \ --cc=dev@dpdk.org \ --cc=ferruh.yigit@intel.com \ --cc=jerinjacobk@gmail.com \ --cc=konstantin.ananyev@intel.com \ --cc=maxime.coquelin@redhat.com \ --cc=olivier.matz@6wind.com \ --cc=shahafs@nvidia.com \ --cc=stephen@networkplumber.org \ --cc=thomasm@mellanox.com \ /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
DPDK patches and discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \ dev@dpdk.org public-inbox-index dev Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.dev AGPL code for this site: git clone https://public-inbox.org/public-inbox.git