From patchwork Thu Aug 12 13:18:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?546L5b+X5a6P?= X-Patchwork-Id: 96854 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 645AFA0C4E; Thu, 12 Aug 2021 15:19:16 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D95BA41215; Thu, 12 Aug 2021 15:19:13 +0200 (CEST) Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) by mails.dpdk.org (Postfix) with ESMTP id 801C14120E for ; Thu, 12 Aug 2021 15:19:12 +0200 (CEST) Received: by mail-pj1-f43.google.com with SMTP id a8so9454277pjk.4 for ; Thu, 12 Aug 2021 06:19:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=J0rPUgA/i6EsA9XvxE6/M9owCtDcl90nCf88vqowKj0=; b=o5rtBT96oe5xWIW79EkebCyWRkurwJbmAKxa+ush0JsYmcObqiPpLJ2WGCX80rR0uN wJMQm3ssIxMWSN12rp7dVpdLyU04dqNAnxzF2NtCQEEZzsM/i6AGWfNolNNgOWlDikGo YKJJUrM3k1BMuWq+dC51yytd3T/StCM+LNapp6PsVrHjtmIE8D3tuOUIhApecxcTPYa1 55btBufaegEOt95XSPCkZ1U9SkoARTLbdQaEu7maO7o+68PZfJl2kZyC6+8+NJd6MWvz m3tGnr/PM0uMU64v7q9mhYMqwsww2997Wvv9mFLVBJfUYMTJnZ0mMeLhTqqH79hGRfjg 9kCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=J0rPUgA/i6EsA9XvxE6/M9owCtDcl90nCf88vqowKj0=; b=iZ2AjVF4PvrvbWKPfPZfiXuRROctLCXvTCyH7Ob76yr6yU9vYCMY1MkT/Ak8XrW7tJ rVnrYiwnDqper+IzSVjD8m/U/RLfVykLcnTwoQvQ4zfsxwTUFcpnbvzK91v9yW3JgsSj SWTr9KKfbZr0uVV8gltGJhUR3KHv+BzTkVNDYFjy6GIz0oSgjbAL6sVpRcbuL2ZfT62D /L7D6l/PynBOz/9ZfEOCJ5P6lmfRLeUA8en80h1qB06zP5VnxqlMewBdrfLbq2fUf9oa lXyYBgBcSsMa7KNbMYB1DkyPERn+RD1J3MLNAqxt1A8sg1yvQ2JCmW31QGWWLY8Dxg6O DoVQ== X-Gm-Message-State: AOAM531Tw48P9qj3C80gjYKoOhwxh9ci6NUwB/Vst+UqM5PQZXfv2H16 OWOFmeIPUvdl9TJFToUm1zwTXJBjnxD5ZA== X-Google-Smtp-Source: ABdhPJy3RsyGO5Av/dEhJtUdB2Y91UfYTs6MkXpOm/9zgGopYZmaI0F+metZnLafXREEnMxpC7CzIw== X-Received: by 2002:a17:902:8d8a:b029:12d:3774:3630 with SMTP id v10-20020a1709028d8ab029012d37743630mr3512484plo.65.1628774351399; Thu, 12 Aug 2021 06:19:11 -0700 (PDT) Received: from C02D70YZMD6R.bytedance.net ([139.177.225.227]) by smtp.gmail.com with ESMTPSA id x24sm10273416pjk.43.2021.08.12.06.19.08 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 12 Aug 2021 06:19:10 -0700 (PDT) From: Zhihong Wang To: dev@dpdk.org, ferruh.yigit@intel.com, xiaoyun.li@intel.com, aman.deep.singh@intel.com, irusskikh@marvell.com, cchemparathy@tilera.com Cc: Zhihong Wang , stable@dpdk.org Date: Thu, 12 Aug 2021 21:18:58 +0800 Message-Id: <20210812131901.25665-2-wangzhihong.wzh@bytedance.com> X-Mailer: git-send-email 2.24.3 (Apple Git-128) In-Reply-To: <20210812131901.25665-1-wangzhihong.wzh@bytedance.com> References: <20210809062548.30187-1-wangzhihong.wzh@bytedance.com> <20210812131901.25665-1-wangzhihong.wzh@bytedance.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v4 1/4] app/testpmd: fix tx retry in flowgen X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Fix tx_pkt number in tx retry logic. Fixes: bf56fce1fb4 ("app/testpmd: add retry option") Cc: stable@dpdk.org Signed-off-by: Zhihong Wang --- app/test-pmd/flowgen.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/test-pmd/flowgen.c b/app/test-pmd/flowgen.c index 3bf6e1ce97..f2e6255c36 100644 --- a/app/test-pmd/flowgen.c +++ b/app/test-pmd/flowgen.c @@ -192,12 +192,12 @@ pkt_burst_flow_gen(struct fwd_stream *fs) /* * Retry if necessary */ - if (unlikely(nb_tx < nb_rx) && fs->retry_enabled) { + if (unlikely(nb_tx < nb_pkt) && fs->retry_enabled) { retry = 0; - while (nb_tx < nb_rx && retry++ < burst_tx_retry_num) { + while (nb_tx < nb_pkt && retry++ < burst_tx_retry_num) { rte_delay_us(burst_tx_delay_time); nb_tx += rte_eth_tx_burst(fs->tx_port, fs->tx_queue, - &pkts_burst[nb_tx], nb_rx - nb_tx); + &pkts_burst[nb_tx], nb_pkt - nb_tx); } } fs->tx_packets += nb_tx; From patchwork Thu Aug 12 13:18:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?546L5b+X5a6P?= X-Patchwork-Id: 96855 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 702B4A0C4E; Thu, 12 Aug 2021 15:19:24 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F30E641213; Thu, 12 Aug 2021 15:19:16 +0200 (CEST) Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) by mails.dpdk.org (Postfix) with ESMTP id E785E40042 for ; Thu, 12 Aug 2021 15:19:15 +0200 (CEST) Received: by mail-pj1-f50.google.com with SMTP id u21-20020a17090a8915b02901782c36f543so15117686pjn.4 for ; Thu, 12 Aug 2021 06:19:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=M/6WQKhhcHJZ8lH4P5Iti9nBeBhth8hCt890WgpnHJ8=; b=fiZEyWykKJkNHC6g3ugqMnUNXJU77kFDXuCd+wKcpiTJRaEzS1fuMQ8in3nDHJRdq+ m+sJhAH7+b1fsHLV1Cwi4a+yiOYPOHLgqhVDY+e7h/oABHYo2+OGTpfzzqm+MgHbcqAq vLeE22u0RqqcdANnoivJdcjjlHzuePPQDl5RyrQfVHfkYBdcwnTJDjAMPCiCgHCfbM/B mqX0s2jjPfvDyYM0by+9bMX2wFhvuq7eG09CwQkm0mTooD+MGBZkj4TyIDFRwsy7Rd9P 9+2JO5j3b/AwDdoURKO1e65ptnoApa0OKy+tfhOiB3eI/hDiHrJSXWoMV3ZffhxfU6iM Porw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=M/6WQKhhcHJZ8lH4P5Iti9nBeBhth8hCt890WgpnHJ8=; b=jGwMnMrFbTRwmFQD9ORZoqc+54eDdpbyGQc4mCzAgEexlCfK8pXPZPaCogAV0ifni8 cb7FHcQ240e+kCN5ZPC8sxC1TxkDHVlB8muUdEUfRGHXx2AFVo18p7GtKQc5+7YaGxLz bz37xJG34o2UFOvpZehZhu89jkgsF5gf0Qru0+KO5hjCiYXi/tqftxRotCH2ZckYmgvm wL+VHMybB72yQX9Njk6D169t1Ub9cDHitlys+joL1fsDTAcBc5h7P317zRxd2EvIbEn7 DMYKMDNoL1CATEPLFC1Pu6qHb0OKxpS11xzxE+rEX/DxZBusE2695NshZu/20t8FIFsq sWZA== X-Gm-Message-State: AOAM531EmmA0J0au/lAeUmkGoKidxqUYKliLkGkL1G6jaTSkebk6n8eU gUE8JENPUmggRxyI6EhefWny1JuxwPs2qA== X-Google-Smtp-Source: ABdhPJwvYmk2dDLuh77t9Kc4NEwbQGm3cJGIHHaeoo9zQOX5WMr/78XoWh7YrQjATmtl1JqBzzeTaw== X-Received: by 2002:a17:902:e744:b029:12d:6479:83a3 with SMTP id p4-20020a170902e744b029012d647983a3mr3658099plf.30.1628774354841; Thu, 12 Aug 2021 06:19:14 -0700 (PDT) Received: from C02D70YZMD6R.bytedance.net ([139.177.225.227]) by smtp.gmail.com with ESMTPSA id x24sm10273416pjk.43.2021.08.12.06.19.11 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 12 Aug 2021 06:19:14 -0700 (PDT) From: Zhihong Wang To: dev@dpdk.org, ferruh.yigit@intel.com, xiaoyun.li@intel.com, aman.deep.singh@intel.com, irusskikh@marvell.com, cchemparathy@tilera.com Cc: Zhihong Wang Date: Thu, 12 Aug 2021 21:18:59 +0800 Message-Id: <20210812131901.25665-3-wangzhihong.wzh@bytedance.com> X-Mailer: git-send-email 2.24.3 (Apple Git-128) In-Reply-To: <20210812131901.25665-1-wangzhihong.wzh@bytedance.com> References: <20210809062548.30187-1-wangzhihong.wzh@bytedance.com> <20210812131901.25665-1-wangzhihong.wzh@bytedance.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v4 2/4] app/testpmd: use rte_ipv4_cksum in flowgen X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Use the rte_ipv4_cksum API to replace local ip_sum implementation. Signed-off-by: Zhihong Wang Acked-by: Xiaoyun Li --- app/test-pmd/flowgen.c | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/app/test-pmd/flowgen.c b/app/test-pmd/flowgen.c index f2e6255c36..96d0cc79df 100644 --- a/app/test-pmd/flowgen.c +++ b/app/test-pmd/flowgen.c @@ -53,28 +53,6 @@ static struct rte_ether_addr cfg_ether_dst = #define IP_DEFTTL 64 /* from RFC 1340. */ -/* Use this type to inform GCC that ip_sum violates aliasing rules. */ -typedef unaligned_uint16_t alias_int16_t __attribute__((__may_alias__)); - -static inline uint16_t -ip_sum(const alias_int16_t *hdr, int hdr_len) -{ - uint32_t sum = 0; - - while (hdr_len > 1) - { - sum += *hdr++; - if (sum & 0x80000000) - sum = (sum & 0xFFFF) + (sum >> 16); - hdr_len -= 2; - } - - while (sum >> 16) - sum = (sum & 0xFFFF) + (sum >> 16); - - return ~sum; -} - /* * Multi-flow generation mode. * @@ -160,8 +138,7 @@ pkt_burst_flow_gen(struct fwd_stream *fs) next_flow); ip_hdr->total_length = RTE_CPU_TO_BE_16(pkt_size - sizeof(*eth_hdr)); - ip_hdr->hdr_checksum = ip_sum((const alias_int16_t *)ip_hdr, - sizeof(*ip_hdr)); + ip_hdr->hdr_checksum = rte_ipv4_cksum(ip_hdr); /* Initialize UDP header. */ udp_hdr = (struct rte_udp_hdr *)(ip_hdr + 1); From patchwork Thu Aug 12 13:19:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?546L5b+X5a6P?= X-Patchwork-Id: 96856 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2BC25A0C4E; Thu, 12 Aug 2021 15:19:33 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3360541223; Thu, 12 Aug 2021 15:19:21 +0200 (CEST) Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) by mails.dpdk.org (Postfix) with ESMTP id AA5B040042 for ; Thu, 12 Aug 2021 15:19:19 +0200 (CEST) Received: by mail-pj1-f50.google.com with SMTP id cp15-20020a17090afb8fb029017891959dcbso15131765pjb.2 for ; Thu, 12 Aug 2021 06:19:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qVq3MNIRBAU+5MFzYuHD6SlzXnuY96/Dmui4y7Yq828=; b=cqqYTrg9QrtAXMn59vmauSAQ8BKOZ1/SpF26anOpAf/T45LFzXYjpDEEJFtJ0HQWmd U9nTnj3QeNHQA/q5rOwiSepnfWsySJzf657vbOAnYudSq+J+z6x8nk8PhFC8/rRG1jIt IbZ3zAtNEDmaB1xE45g4xTLfliX7YYNTiOakmnJ/uFYY0UJSZU9mr/mJFs+ckcjFjZV7 nBQyaawKtc0qFwD36mO0nVFXBrW9sVBfliCZt+bVRkXLRZbgXMfHnOhBci/6wReNJiZI Agei85QZs6wZKt8m9g+DQ+18NVrN0Iaxn9OzTgJb0jraHkJLKlTlUgBMIhsDSL+zLhkL pz8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qVq3MNIRBAU+5MFzYuHD6SlzXnuY96/Dmui4y7Yq828=; b=t2ixS9N0bP1/I3saMBVlZ0S5HFPqL+xh8uEESNvCYg++UG0WeSNzh8uNzQNzEGFGLy rq2p6YUvjTkpxj3umVUOG+M0auecVmOsOturhFxLmCISOBXRN6ekKaYIV9t9pdtbT8ix A8HJCAdb4k9/o+YVUULoNYhvMngkFI0toNRxWjZFmXeG8gZPKVYH2P/UgEixYcKzO+Je iob8i9/N8VHwzIQetAuxRxHeCuab9R/cCmmiwx00S/kOzaEiwe940w4M9/hkLmf2Frcm Ui6ah9iFs6tPvfmzSW19hwoDqfEe/ZUlxoEkjKqCM77nohwir0yNVZQtgb6EBtnmjjQ2 8hEQ== X-Gm-Message-State: AOAM531RcbprPYJZFEgz0kOqQkV7Y4ljjuR5mPCFMtdeYepHe2oZ3YRI 3Q9MJQxl6CbBOsM0OhkmowLxPsWCi5cEsQ== X-Google-Smtp-Source: ABdhPJwvZGPDBNfebkci3QSke1rRcwG3xENyiX8ZVT5DCDxloQszNrcdcGGsaajd4/uUq9vADNn0Og== X-Received: by 2002:a17:902:7fc6:b029:12d:1a3c:a981 with SMTP id t6-20020a1709027fc6b029012d1a3ca981mr3519681plb.46.1628774358519; Thu, 12 Aug 2021 06:19:18 -0700 (PDT) Received: from C02D70YZMD6R.bytedance.net ([139.177.225.227]) by smtp.gmail.com with ESMTPSA id x24sm10273416pjk.43.2021.08.12.06.19.15 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 12 Aug 2021 06:19:17 -0700 (PDT) From: Zhihong Wang To: dev@dpdk.org, ferruh.yigit@intel.com, xiaoyun.li@intel.com, aman.deep.singh@intel.com, irusskikh@marvell.com, cchemparathy@tilera.com Cc: Zhihong Wang Date: Thu, 12 Aug 2021 21:19:00 +0800 Message-Id: <20210812131901.25665-4-wangzhihong.wzh@bytedance.com> X-Mailer: git-send-email 2.24.3 (Apple Git-128) In-Reply-To: <20210812131901.25665-1-wangzhihong.wzh@bytedance.com> References: <20210809062548.30187-1-wangzhihong.wzh@bytedance.com> <20210812131901.25665-1-wangzhihong.wzh@bytedance.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v4 3/4] app/testpmd: record rx_burst and fwd_dropped in flowgen X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Call inc_rx_burst_stats for rx operation, and record fwd_dropped. Signed-off-by: Zhihong Wang Acked-by: Xiaoyun Li --- app/test-pmd/flowgen.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/test-pmd/flowgen.c b/app/test-pmd/flowgen.c index 96d0cc79df..229794ee9c 100644 --- a/app/test-pmd/flowgen.c +++ b/app/test-pmd/flowgen.c @@ -87,6 +87,7 @@ pkt_burst_flow_gen(struct fwd_stream *fs) /* Receive a burst of packets and discard them. */ nb_rx = rte_eth_rx_burst(fs->rx_port, fs->rx_queue, pkts_burst, nb_pkt_per_burst); + inc_rx_burst_stats(fs, nb_rx); fs->rx_packets += nb_rx; for (i = 0; i < nb_rx; i++) @@ -186,6 +187,7 @@ pkt_burst_flow_gen(struct fwd_stream *fs) while (next_flow < 0) next_flow += cfg_n_flows; + fs->fwd_dropped += nb_pkt - nb_tx; do { rte_pktmbuf_free(pkts_burst[nb_tx]); } while (++nb_tx < nb_pkt); From patchwork Thu Aug 12 13:19:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?546L5b+X5a6P?= X-Patchwork-Id: 96857 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 18B46A0C4E; Thu, 12 Aug 2021 15:19:44 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 826A84122D; Thu, 12 Aug 2021 15:19:24 +0200 (CEST) Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by mails.dpdk.org (Postfix) with ESMTP id 048B94122B for ; Thu, 12 Aug 2021 15:19:23 +0200 (CEST) Received: by mail-pl1-f182.google.com with SMTP id w6so240710plg.9 for ; Thu, 12 Aug 2021 06:19:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=I13tSpMYy83dLyDCQBdqOqpPidN3cVq4Uw0Z3XP8dbI=; b=OOPY20J6bvRmbspzJmEqd46lqFB459qaAdNvrhO+gmo9JDd7wxTPDddiowsVbhmfHh TfH09tXT01VDQxyimVEB9q3ZIJ7bwLnQ7wkA4/d9dqR4lD8TkMi3LkElt0IG8QYZSREW NgGjrQWt0zIQM8Y5rBi3O9k3KW7XAxo8L8Jkm48NRyTFixPPEI1MapiwZg3NCNJU0i+t kG5+Lreofj9UXVzdsBjuWTruCSrnTWj2sqAOsMGbtF24YSwyPIDHwZyoUJzA+sFEH8hG pRttMa5aFlki9UNW6Umuhrzzvrm2i/mmQaSyVWDId3OMUZjq1gs8lJCphdCijaC9hjAb 2guw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=I13tSpMYy83dLyDCQBdqOqpPidN3cVq4Uw0Z3XP8dbI=; b=scInZomJo1H5o7JXVuHWHOD0yF6ugb6+p8L9hpZ0/vgZrXGs5uUDvriaAW1UqXFXS2 P2vCELObGHZz8Xy0ea/AePlGe66qA+lyvy+wBswj9+4yIOaFyHjKjSyVreu2tDNDEqWy d64eu0/DxE3JkHVuBiZM/RqX81vuLrDJy4GTqGc6Q5ncKmKWaI5TLgBRlI5QfZBPObx1 FtbxP+0T55CLoXu5uPJMzO8e01CMuaSEYIF1AGXHUMTuW5L0o+U5J1+pCMEGjoSuWWtv 7rU9cj8lfUmEPgFEYDHNpsgB2M+/9QMQgVJ5aS5Ew/Q8SIlYu8myynZhp1bLI0lmlIco ToSg== X-Gm-Message-State: AOAM532uj9MiwN80eCv+XFCLd5u/E01S699/PTnkAeutibwP9fOk7htd 9D+dCBrol5HJIIF7pcy8Kd+Yd7MgbKLcEg== X-Google-Smtp-Source: ABdhPJyEL+5U8+2BWloIMZ1hVFGptGjd5hB5/FRwjCPht7fz7b6aiLbHDLwgZBpkr7rgTKmy/f8G0Q== X-Received: by 2002:a63:d910:: with SMTP id r16mr3838787pgg.318.1628774361942; Thu, 12 Aug 2021 06:19:21 -0700 (PDT) Received: from C02D70YZMD6R.bytedance.net ([139.177.225.227]) by smtp.gmail.com with ESMTPSA id x24sm10273416pjk.43.2021.08.12.06.19.18 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 12 Aug 2021 06:19:21 -0700 (PDT) From: Zhihong Wang To: dev@dpdk.org, ferruh.yigit@intel.com, xiaoyun.li@intel.com, aman.deep.singh@intel.com, irusskikh@marvell.com, cchemparathy@tilera.com Cc: Zhihong Wang Date: Thu, 12 Aug 2021 21:19:01 +0800 Message-Id: <20210812131901.25665-5-wangzhihong.wzh@bytedance.com> X-Mailer: git-send-email 2.24.3 (Apple Git-128) In-Reply-To: <20210812131901.25665-1-wangzhihong.wzh@bytedance.com> References: <20210809062548.30187-1-wangzhihong.wzh@bytedance.com> <20210812131901.25665-1-wangzhihong.wzh@bytedance.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v4 4/4] app/testpmd: use per-core variable in flowgen X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Use per-core variable for flow indexing to solve cache contention in multi-core scenarios. v4: use loop local variable to improve performance Signed-off-by: Zhihong Wang Acked-by: Xiaoyun Li --- app/test-pmd/flowgen.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/test-pmd/flowgen.c b/app/test-pmd/flowgen.c index 229794ee9c..b541485304 100644 --- a/app/test-pmd/flowgen.c +++ b/app/test-pmd/flowgen.c @@ -53,6 +53,8 @@ static struct rte_ether_addr cfg_ether_dst = #define IP_DEFTTL 64 /* from RFC 1340. */ +RTE_DEFINE_PER_LCORE(int, _next_flow); + /* * Multi-flow generation mode. * @@ -80,7 +82,7 @@ pkt_burst_flow_gen(struct fwd_stream *fs) uint32_t retry; uint64_t tx_offloads; uint64_t start_tsc = 0; - static int next_flow = 0; + int next_flow = RTE_PER_LCORE(_next_flow); get_start_cycles(&start_tsc); @@ -193,6 +195,8 @@ pkt_burst_flow_gen(struct fwd_stream *fs) } while (++nb_tx < nb_pkt); } + RTE_PER_LCORE(_next_flow) = next_flow; + get_end_cycles(fs, start_tsc); }