DPDK patches and discussions
 help / color / mirror / Atom feed
From: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
To: Xueming Li <xuemingl@nvidia.com>, dev@dpdk.org
Cc: Ferruh Yigit <ferruh.yigit@intel.com>,
	"\"Singh, Aman Deep" <aman.deep.singh@intel.com>,
	Thomas Monjalon <thomas@monjalon.net>
Subject: Re: [dpdk-dev] [PATCH v3 1/2] ethdev: queue release callback optional
Date: Fri, 17 Sep 2021 14:53:16 +0300	[thread overview]
Message-ID: <6a1c36f7-b16f-3ee7-1f06-c745bdb0cf87@oktetlabs.ru> (raw)
In-Reply-To: <781a12fa-8d14-465f-1cbe-0406a0ab0ae6@oktetlabs.ru>

On 9/17/21 2:29 PM, Andrew Rybchenko wrote:
> On 9/17/21 12:39 PM, Xueming Li wrote:
>> Some drivers don't need Rx and Tx queue release callback, make it
>> optional.
>>
>> Signed-off-by: Xueming Li <xuemingl@nvidia.com>
> 
> LGTM, but please, consider one nit below
> 
> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> 
>> ---
>>  lib/ethdev/rte_ethdev.c | 48 +++++++++++++++++------------------------
>>  1 file changed, 20 insertions(+), 28 deletions(-)
>>
>> diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c
>> index daf5ca9242..2f316d1646 100644
>> --- a/lib/ethdev/rte_ethdev.c
>> +++ b/lib/ethdev/rte_ethdev.c
>> @@ -905,12 +905,11 @@ eth_dev_rx_queue_config(struct rte_eth_dev *dev, uint16_t nb_queues)
>>  			return -(ENOMEM);
>>  		}
>>  	} else if (dev->data->rx_queues != NULL && nb_queues != 0) { /* re-configure */
>> -		RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_queue_release, -ENOTSUP);
>> -
>>  		rxq = dev->data->rx_queues;
>>  
>> -		for (i = nb_queues; i < old_nb_queues; i++)
>> -			(*dev->dev_ops->rx_queue_release)(rxq[i]);
>> +		if (dev->dev_ops->rx_queue_release != NULL)
>> +			for (i = nb_queues; i < old_nb_queues; i++)
>> +				(*dev->dev_ops->rx_queue_release)(rxq[i]);
> 
> Since 'if' body has more than one line, I'd add curly brackets
> around to make it a bit easier to read and more robust against
> future changes.
> 
> Similar note is applicable to many similar cases in the patch.
> 

Reviewed the next patch I realize one thing:
Who is responsible for setting dev->data->rxq[rx_queue_id] to
NULL if release callback is not specified. IMHO, it is
inconsistent to keep it filled in after release. I think that
the generic code in ethdev must care about it regardless
callback presence. It means that we need helper function
which cares about it in single place. Also it means that
we can't optimize loops like this. We need the loop anyway
to set all queue pointers to NULL.

  reply	other threads:[~2021-09-17 11:53 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-27  3:41 [dpdk-dev] [RFC] ethdev: change queue release callback Xueming Li
2021-07-28  7:40 ` Andrew Rybchenko
2021-08-09 14:39   ` Singh, Aman Deep
2021-08-09 15:31     ` Ferruh Yigit
2021-08-10  8:03       ` Xueming(Steven) Li
2021-08-10  8:54         ` Ferruh Yigit
2021-08-10  9:07           ` Xueming(Steven) Li
2021-08-11 11:57             ` Ferruh Yigit
2021-08-11 12:13               ` Xueming(Steven) Li
2021-08-12 14:29                 ` Xueming(Steven) Li
2021-09-26 11:25               ` Xueming(Steven) Li
2021-08-11 13:45 ` [dpdk-dev] [PATCH v1] " Xueming Li
2021-09-15 13:02 ` [dpdk-dev] [PATCH v2] " Xueming Li
2021-09-15 13:36   ` Xueming(Steven) Li
2021-09-16  8:09   ` Thomas Monjalon
2021-09-16 15:43     ` Xueming(Steven) Li
2021-09-16 15:50       ` Thomas Monjalon
2021-09-17  9:40         ` Xueming(Steven) Li
2021-09-17  9:39 ` [dpdk-dev] [PATCH v3 0/2] " Xueming Li
2021-09-17  9:39   ` [dpdk-dev] [PATCH v3 1/2] ethdev: queue release callback optional Xueming Li
2021-09-17 11:29     ` Andrew Rybchenko
2021-09-17 11:53       ` Andrew Rybchenko [this message]
2021-09-17 14:33         ` Xueming(Steven) Li
2021-09-17  9:39   ` [dpdk-dev] [PATCH v3 2/2] ethdev: change queue release callback Xueming Li
2021-09-17 11:49     ` Andrew Rybchenko
2021-09-17 14:31       ` Xueming(Steven) Li
2021-09-17 14:28 ` [dpdk-dev] [PATCH v4 0/2] " Xueming Li
2021-09-17 14:28   ` [dpdk-dev] [PATCH v4 1/2] ethdev: make queue release callback optional Xueming Li
2021-09-18  6:44     ` Andrew Rybchenko
2021-10-05 22:00       ` Thomas Monjalon
2021-09-17 14:28   ` [dpdk-dev] [PATCH v4 2/2] ethdev: change queue release callback Xueming Li
2021-09-18  6:50     ` Andrew Rybchenko
2021-09-18 12:39       ` Xueming(Steven) Li
2021-09-18 12:35 ` [dpdk-dev] [PATCH v5 0/2] " Xueming Li
2021-09-18 12:35   ` [dpdk-dev] [PATCH v5 1/2] ethdev: make queue release callback optional Xueming Li
2021-09-21 16:23     ` Ferruh Yigit
2021-09-18 12:35   ` [dpdk-dev] [PATCH v5 2/2] ethdev: change queue release callback Xueming Li
2021-09-21 18:13     ` Ferruh Yigit
2021-09-22  9:35       ` Xueming(Steven) Li
2021-09-22 10:57         ` Ferruh Yigit
2021-09-22 12:54           ` Xueming(Steven) Li
2021-09-29 13:57             ` Xueming(Steven) Li
2021-10-05 16:38               ` Ferruh Yigit
2021-10-06  7:55                 ` Xueming(Steven) Li
2021-10-06  8:04                   ` Ferruh Yigit
2021-10-06 11:19                     ` Xueming(Steven) Li
     [not found]           ` <2d2e9329b076c022418efd7b38ff280cf3ed1af4.camel@nvidia.com>
     [not found]             ` <56f7537a-bfc0-e4b8-72e8-c382ef0e2dbd@huawei.com>
     [not found]               ` <8e2c2f96265dc17af0564befb3918f1a8ea5154a.camel@nvidia.com>
2021-09-29 14:04                 ` [dpdk-dev] Fwd: " Xueming(Steven) Li
2021-09-30 15:17 ` [dpdk-dev] [PATCH v6 0/2] " Xueming Li
2021-09-30 15:17   ` [dpdk-dev] [PATCH v6 1/2] ethdev: make queue release callback optional Xueming Li
2021-10-05 22:04     ` Thomas Monjalon
2021-09-30 15:17   ` [dpdk-dev] [PATCH v6 2/2] ethdev: change queue release callback Xueming Li
2021-10-03  7:38     ` Matan Azrad
2021-10-03 21:00       ` Ajit Khaparde
2021-10-06 10:21     ` Somnath Kotur
2021-10-06 11:18 ` [dpdk-dev] [PATCH v7 0/2] " Xueming Li
2021-10-06 11:18   ` [dpdk-dev] [PATCH v7 1/2] ethdev: make queue release callback optional Xueming Li
2021-10-06 15:38     ` Hemant Agrawal
2021-10-08  8:16     ` Xu, Rosen
2021-10-06 11:18   ` [dpdk-dev] [PATCH v7 2/2] ethdev: change queue release callback Xueming Li
2021-10-06 17:20     ` Ferruh Yigit
2021-10-11  8:28     ` Thomas Monjalon
2021-10-11 13:11       ` Ferruh Yigit
2021-10-06 17:25   ` [dpdk-dev] [PATCH v7 0/2] " Ferruh Yigit

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=6a1c36f7-b16f-3ee7-1f06-c745bdb0cf87@oktetlabs.ru \
    --to=andrew.rybchenko@oktetlabs.ru \
    --cc=aman.deep.singh@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=thomas@monjalon.net \
    --cc=xuemingl@nvidia.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
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).