From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.warmcat.com (mail.warmcat.com [163.172.24.82]) by dpdk.org (Postfix) with ESMTP id 9471C7CC0 for ; Thu, 17 May 2018 16:17:09 +0200 (CEST) To: Bruce Richardson Cc: dev@dpdk.org References: <152627436523.53156.4398253089110011263.stgit@localhost.localdomain> <152627464301.53156.5866882653553223698.stgit@localhost.localdomain> <20180517135417.GB22288@bricha3-MOBL.ger.corp.intel.com> From: Andy Green Message-ID: Date: Thu, 17 May 2018 22:17:04 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 In-Reply-To: <20180517135417.GB22288@bricha3-MOBL.ger.corp.intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v4 15/23] rte_ethdev.h: align sign and scope of temp var X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 May 2018 14:17:09 -0000 On 05/17/2018 09:54 PM, Bruce Richardson wrote: > On Mon, May 14, 2018 at 01:10:43PM +0800, Andy Green wrote: >> Signed-off-by: Andy Green >> --- >> lib/librte_ethdev/rte_ethdev.h | 25 +++++++++++++++---------- >> 1 file changed, 15 insertions(+), 10 deletions(-) >> > > While I dislike the changes below, since I believe it's always more > readable to declare variables at first use, if the changes are needed to > remove compiler errors in apps, then they need to be fixed. > > Patch needs a suitable commit log explaining the changes or giving the > error message. It has this in the last push (which overlapped with your comment)... I seem to have missed the error about declarations after code not being allowed in C90, but I guess that part being an issue is not controversial. > >> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h >> index 49c2ebbd5..2cb5fe3be 100644 >> --- a/lib/librte_ethdev/rte_ethdev.h >> +++ b/lib/librte_ethdev/rte_ethdev.h >> @@ -3801,6 +3801,7 @@ rte_eth_rx_burst(uint16_t port_id, uint16_t queue_id, >> struct rte_mbuf **rx_pkts, const uint16_t nb_pkts) >> { >> struct rte_eth_dev *dev = &rte_eth_devices[port_id]; >> + uint16_t nb_rx; >> >> #ifdef RTE_LIBRTE_ETHDEV_DEBUG >> RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, 0); >> @@ -3811,18 +3812,22 @@ rte_eth_rx_burst(uint16_t port_id, uint16_t queue_id, >> return 0; >> } >> #endif >> - int16_t nb_rx = (*dev->rx_pkt_burst)(dev->data->rx_queues[queue_id], >> - rx_pkts, nb_pkts); >> + nb_rx = (*dev->rx_pkt_burst)(dev->data->rx_queues[queue_id], >> + rx_pkts, nb_pkts); >> >> #ifdef RTE_ETHDEV_RXTX_CALLBACKS >> - struct rte_eth_rxtx_callback *cb = dev->post_rx_burst_cbs[queue_id]; >> - >> - if (unlikely(cb != NULL)) { >> - do { >> - nb_rx = cb->fn.rx(port_id, queue_id, rx_pkts, nb_rx, >> - nb_pkts, cb->param); >> - cb = cb->next; >> - } while (cb != NULL); >> + { >> + struct rte_eth_rxtx_callback *cb = >> + dev->post_rx_burst_cbs[queue_id]; >> + >> + if (unlikely(cb != NULL)) { >> + do { >> + nb_rx = cb->fn.rx(port_id, queue_id, >> + rx_pkts, nb_rx, >> + nb_pkts, cb->param); >> + cb = cb->next; >> + } while (cb != NULL); >> + } >> } >> #endif > > Rather than increasing the level of indentation needed with the extra > braces, it's probably best to separate variable definition and assignment > as you did in the first change above. IIRC my thinking was I had a choice to repeat the conditional compilation stuff around the declaration (because it's in an #ifdef), (void)cb; to dodge the unused var warning, or add a basic block for it to scope to. The last one didn't seem so bad. -Andy > /Bruce >