From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id F316D5424 for ; Thu, 3 Jan 2019 09:15:31 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from yskoh@mellanox.com) with ESMTPS (AES256-SHA encrypted); 3 Jan 2019 10:15:29 +0200 Received: from scfae-sc-2.mti.labs.mlnx (scfae-sc-2.mti.labs.mlnx [10.101.0.96]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x038EJg6008603; Thu, 3 Jan 2019 10:15:27 +0200 From: Yongseok Koh To: Andy Green Cc: Bruce Richardson , dpdk stable Date: Thu, 3 Jan 2019 00:14:00 -0800 Message-Id: <20190103081400.14191-37-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20190103081400.14191-1-yskoh@mellanox.com> References: <20190103081400.14191-1-yskoh@mellanox.com> Subject: [dpdk-stable] patch 'ethdev: fix type and scope of variables in Rx burst' has been queued to LTS release 17.11.5 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 08:15:32 -0000 Hi, FYI, your patch has been queued to LTS release 17.11.5 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 01/04/19. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. If the code is different (ie: not only metadata diffs), due for example to a change in context or macro names, please double check it. Thanks. Yongseok --- >>From 37f7f2fe3d21772880713eb11150152b5ac25757 Mon Sep 17 00:00:00 2001 From: Andy Green Date: Tue, 22 May 2018 09:24:47 +0800 Subject: [PATCH] ethdev: fix type and scope of variables in Rx burst [ upstream commit 3291abb5a2a5f24c109ab74e6aad0545927333a7 ] GCC 8.1 warned: In function 'rte_eth_rx_burst': rte_ethdev.h:3836:18: warning: conversion to 'int16_t' {aka 'short int'} from 'uint16_t' {aka 'short unsigned int'} may change the sign of the result [-Wsign-conversion] int16_t nb_rx = (*dev->rx_pkt_burst)(dev->data->rx_queues[queue_id], ^ rte_ethdev.h:3844:50: warning: conversion to 'uint16_t' {aka 'short unsigned int'} from 'int16_t' {aka 'short int'} may change the sign of the result [-Wsign-conversion] nb_rx = cb->fn.rx(port_id, queue_id, rx_pkts, nb_rx, ^~~~~ rte_ethdev.h:3844:12: warning: conversion to 'int16_t' {aka 'short int'} from 'uint16_t' {aka 'short unsigned int'} may change the sign of the result [-Wsign-conversion] nb_rx = cb->fn.rx(port_id, queue_id, rx_pkts, nb_rx, ^~ rte_ethdev.h:3851:9: warning: conversion to 'uint16_t' {aka 'short unsigned int'} from 'int16_t' {aka 'short int'} may change the sign of the result [-Wsign-conversion] return nb_rx; ^~~~~ The second part of the patch is solved by its own basic block because it is inside a preprocessor conditional. Bringing the declaration of the var to the top of the function would require that also being given its own preprocessor conditional, or a (void)var to avoid an unused var warning. The basic block is no worse than those imho. Fixes: 467465d86df1 ("ethdev: add packet count parameter to Rx callback") Fixes: 4dc294158cac ("ethdev: support optional Rx and Tx callbacks") Signed-off-by: Andy Green Acked-by: Bruce Richardson --- lib/librte_ether/rte_ethdev.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index 65cb04755..f252e4110 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -2884,6 +2884,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); @@ -2894,13 +2895,14 @@ 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(dev->post_rx_burst_cbs[queue_id] != 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); -- 2.11.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2019-01-02 23:59:14.026358246 -0800 +++ 0037-ethdev-fix-type-and-scope-of-variables-in-Rx-burst.patch 2019-01-02 23:59:12.108815000 -0800 @@ -1,8 +1,10 @@ -From 3291abb5a2a5f24c109ab74e6aad0545927333a7 Mon Sep 17 00:00:00 2001 +From 37f7f2fe3d21772880713eb11150152b5ac25757 Mon Sep 17 00:00:00 2001 From: Andy Green Date: Tue, 22 May 2018 09:24:47 +0800 Subject: [PATCH] ethdev: fix type and scope of variables in Rx burst +[ upstream commit 3291abb5a2a5f24c109ab74e6aad0545927333a7 ] + GCC 8.1 warned: In function 'rte_eth_rx_burst': @@ -38,19 +40,18 @@ Fixes: 467465d86df1 ("ethdev: add packet count parameter to Rx callback") Fixes: 4dc294158cac ("ethdev: support optional Rx and Tx callbacks") -Cc: stable@dpdk.org Signed-off-by: Andy Green Acked-by: Bruce Richardson --- - lib/librte_ethdev/rte_ethdev.h | 10 ++++++---- + lib/librte_ether/rte_ethdev.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) -diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h -index d52c1bed9..584af85ad 100644 ---- a/lib/librte_ethdev/rte_ethdev.h -+++ b/lib/librte_ethdev/rte_ethdev.h -@@ -3823,6 +3823,7 @@ rte_eth_rx_burst(uint16_t port_id, uint16_t queue_id, +diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h +index 65cb04755..f252e4110 100644 +--- a/lib/librte_ether/rte_ethdev.h ++++ b/lib/librte_ether/rte_ethdev.h +@@ -2884,6 +2884,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]; @@ -58,7 +59,7 @@ #ifdef RTE_LIBRTE_ETHDEV_DEBUG RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, 0); -@@ -3833,13 +3834,14 @@ rte_eth_rx_burst(uint16_t port_id, uint16_t queue_id, +@@ -2894,13 +2895,14 @@ rte_eth_rx_burst(uint16_t port_id, uint16_t queue_id, return 0; } #endif @@ -71,7 +72,7 @@ - struct rte_eth_rxtx_callback *cb = dev->post_rx_burst_cbs[queue_id]; + if (unlikely(dev->post_rx_burst_cbs[queue_id] != NULL)) { + struct rte_eth_rxtx_callback *cb = -+ dev->post_rx_burst_cbs[queue_id]; ++ dev->post_rx_burst_cbs[queue_id]; - if (unlikely(cb != NULL)) { do {