From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rafal Kozik Subject: [PATCH 1/5] [pktgen] fix race condition in start Date: Thu, 10 Jan 2019 17:14:02 +0100 Message-ID: <1547136846-23319-2-git-send-email-rk@semihalf.com> References: <1547136846-23319-1-git-send-email-rk@semihalf.com> Cc: mw@semihalf.com, mk@semihalf.com, gtzalik@amazon.com, evgenys@amazon.com, matua@amazon.com, igorch@amazon.com, Rafal Kozik To: dev@dpdk.org, keith.wiles@intel.com Return-path: Received: from mail-lf1-f65.google.com (mail-lf1-f65.google.com [209.85.167.65]) by dpdk.org (Postfix) with ESMTP id E3F9C1B8C0 for ; Thu, 10 Jan 2019 17:14:18 +0100 (CET) Received: by mail-lf1-f65.google.com with SMTP id i26so8722152lfc.0 for ; Thu, 10 Jan 2019 08:14:18 -0800 (PST) In-Reply-To: <1547136846-23319-1-git-send-email-rk@semihalf.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Flag SENDING_PACKETS must be set last. When it is set before SEND_FOREVER flag, Tx lcores start to call pktgen_send_pkts. But as current_tx_count is 0 and SEND_FOREVER is not yet set, SENDING_PACKETS will be cleared. This causes in some cases that start command will no take effect. Fixes: f5f901fdf52b ("Update for 1.8 rte_mbuf changes.") Signed-off-by: Rafal Kozik --- app/pktgen-cmds.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/pktgen-cmds.c b/app/pktgen-cmds.c index 95f6ef1..655f6bd 100644 --- a/app/pktgen-cmds.c +++ b/app/pktgen-cmds.c @@ -1412,10 +1412,10 @@ pktgen_start_transmitting(port_info_t *info) rte_atomic64_set(&info->current_tx_count, rte_atomic64_read(&info->transmit_count)); - pktgen_set_port_flags(info, SENDING_PACKETS); - if (rte_atomic64_read(&info->current_tx_count) == 0) pktgen_set_port_flags(info, SEND_FOREVER); + + pktgen_set_port_flags(info, SENDING_PACKETS); } } -- 2.7.4