From patchwork Thu Aug 12 11:11:02 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: 96842 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 3A162A0C56; Thu, 12 Aug 2021 13:11:20 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2BBAE41208; Thu, 12 Aug 2021 13:11:17 +0200 (CEST) Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by mails.dpdk.org (Postfix) with ESMTP id 1496241200 for ; Thu, 12 Aug 2021 13:11:16 +0200 (CEST) Received: by mail-pj1-f49.google.com with SMTP id w13-20020a17090aea0db029017897a5f7bcso10121759pjy.5 for ; Thu, 12 Aug 2021 04:11: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=J0rPUgA/i6EsA9XvxE6/M9owCtDcl90nCf88vqowKj0=; b=nVO1WodA8mvTTE6QgbOlSdX0g3PKLSZwNqLEj/BQTvgqLGmfC2UI9YrgYQ4nHVED5/ V8iik7lxaa/49aWOuc3hrOc0GuMbQEQ7LTypVMnU8FRqITd1OlnxTOdqiSY+GDirseIR SREK3/JPHqmrfcJsU6vw0X2iz9rh89c1s7hpN3Dpiubrq+9w8RuOTTpmNjjzX1SoIKfO 2D+7CPmbUvWYJDWrDuvhL80JXE9lz1jBD4ArAnZrE2CAfWzVzx5rIX1gx0GklS6mwrgX pXGM6nRfDzsw2YN82ovLKTCU7reJrhye1s+GW5dQtZWiohI7Wz/wi5u80z0ZXhsPnOHL 8NaA== 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=QqmmTSIFihlGdeRhYPNC4iGuCFpvksj9Wht6yNOLSkk5nJV5uEkh8S2+INp0vH3Jfk fIyaMoDR9c5M1oiZVHGr/tY3b7E+gmSbms7o+xZTZwYq9w5ojOWyii0t6zINCyUKJTRW WyHIiZwrPKyIeUl1N2H2jmwh8Q3DJWSVf/KbKEveJksUej+AGBh1tDpi4j0KFZlz6+1s f58v641WVZjG6Dsh2Lp+lJKAW6QmJETicvGAABvvusmqedrikbKFs+CCRFX+HbxXEpdj enfDstdw3b3SKIjSMpkl5MFcqwDAoRElTQ+6tWXA8OuefzQFR7EP15lcgja363lton20 Il2w== X-Gm-Message-State: AOAM533Jx/8IFcJCWE1gmUhLAQkaQ8W/hQg/6cGBhJIklDTyfJ8D8QCe WvRU0VR01r8iS4btby8s0Ldf97qL6Ht0R2TI X-Google-Smtp-Source: ABdhPJyC2hngC/bA2PURFLD4nix7MkB7tZEPuixMYXDtYHCG+vev4JCR+ySnRuuihi/97HbzbDsLWg== X-Received: by 2002:a65:6799:: with SMTP id e25mr3438894pgr.59.1628766675020; Thu, 12 Aug 2021 04:11:15 -0700 (PDT) Received: from C02D70YZMD6R.bytedance.net ([139.177.225.243]) by smtp.gmail.com with ESMTPSA id l126sm3291830pgl.14.2021.08.12.04.11.11 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 12 Aug 2021 04:11: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 , stable@dpdk.org Date: Thu, 12 Aug 2021 19:11:02 +0800 Message-Id: <20210812111105.54307-2-wangzhihong.wzh@bytedance.com> X-Mailer: git-send-email 2.24.3 (Apple Git-128) In-Reply-To: <20210812111105.54307-1-wangzhihong.wzh@bytedance.com> References: <20210809062548.30187-1-wangzhihong.wzh@bytedance.com> <20210812111105.54307-1-wangzhihong.wzh@bytedance.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 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 11:11:03 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: 96843 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 57AE6A0C56; Thu, 12 Aug 2021 13:11:26 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5202241200; Thu, 12 Aug 2021 13:11: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 C756441200 for ; Thu, 12 Aug 2021 13:11:19 +0200 (CEST) Received: by mail-pj1-f50.google.com with SMTP id hv22-20020a17090ae416b0290178c579e424so10143172pjb.3 for ; Thu, 12 Aug 2021 04:11: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=M/6WQKhhcHJZ8lH4P5Iti9nBeBhth8hCt890WgpnHJ8=; b=FpL6RYpbIcZuHpHoCLSrZgXFwwfFzpKLMCPo1K7biRNVUGO+Z3jjXYdWmW68ABYScu GrgHys8N0W4E8bml0kFiMxYTNzdyFPycF3u8SSMXQpuQSQQhb9/gi15yxv6uc1uKEswd 0z+pe3GvcNUV414VakbJF4R8GftmDnsiYIx2MPyy7VT033mgzuNNI0ZtfMng+trtATJw A1yZ7bSad5HkrXAJ1YY5U2ptP938ZMgGK6UuolLmcfDtWBi07DWbRqJe9sdqEp/Sn9xj TVnGxF/SM+1uLGOu5D/DOVazr3BIzGi2Ry0+3gHMi/sCNBo5PqdPFMbETYaG0q9o12IZ cCNg== 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=geEXYQH48qQdVVnNUnuQDwMsE+Bglmyyg4WPO9NrAlQWH/O/NDehr3Pb/Z1V6O62M9 k4XIL3gSzT36QlgyAtAx+qDRjkf2hHyauhn8zdujGiFVFU4LzOo9oK8ajIM5V9AQBP24 XlTtccwGPvreVhvf7qqVpECg2b1rsvyeSI9FcVG2uWzPFu061ix4KF+FPqO+vx6svo75 5Oug51Ldpp5fe0k4O164a5UVu+qfZH0rc63rA27Ou7VLJoriMkZhNBPhho+Ca8ajLI07 G8riQ1OgXDSDyFRnfPcSObai8f4Hut/xaJ3S5ybcyuPZ5xPuYIelcz0SEBBy/cvCeVxL k++Q== X-Gm-Message-State: AOAM532GKZzt2lw0UTvn+nF3aBli6Nhaa3oTC+n9ozXZjQnQ8+oPNZc4 +b4wKkbMC84ReA34Hn/p4WIh2Nu3PUF1Osbj X-Google-Smtp-Source: ABdhPJzayYkzurXXHGLNqwSEehsIi8vzMRqPik+sccNFkYqvaewhM4jaVtJV3DzgPzsEDWRT2agvHA== X-Received: by 2002:a17:90a:8909:: with SMTP id u9mr429303pjn.9.1628766678520; Thu, 12 Aug 2021 04:11:18 -0700 (PDT) Received: from C02D70YZMD6R.bytedance.net ([139.177.225.243]) by smtp.gmail.com with ESMTPSA id l126sm3291830pgl.14.2021.08.12.04.11.15 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 12 Aug 2021 04:11:18 -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 19:11:03 +0800 Message-Id: <20210812111105.54307-3-wangzhihong.wzh@bytedance.com> X-Mailer: git-send-email 2.24.3 (Apple Git-128) In-Reply-To: <20210812111105.54307-1-wangzhihong.wzh@bytedance.com> References: <20210809062548.30187-1-wangzhihong.wzh@bytedance.com> <20210812111105.54307-1-wangzhihong.wzh@bytedance.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 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 --- 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 11:11:04 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: 96844 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 BA932A0C56; Thu, 12 Aug 2021 13:11:31 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 81ABD41205; Thu, 12 Aug 2021 13:11:24 +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 E998A41215 for ; Thu, 12 Aug 2021 13:11:22 +0200 (CEST) Received: by mail-pj1-f50.google.com with SMTP id bo18so8912597pjb.0 for ; Thu, 12 Aug 2021 04:11: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=qVq3MNIRBAU+5MFzYuHD6SlzXnuY96/Dmui4y7Yq828=; b=PJ2QAjalfb6+Qr4j/FjUiZAd+hLRVOClwsPDQlpwCKNUMyF6dS6V2PDfos7yeOz/mg VT1VidFrUPrkxJiXdhLnO49SohX5CjmoX0hilU9o0ggvtRtVwpAL7H6Z7M6fAr9P1prs Xm7EQh5xPj58jgNhRg57TbX+2v98e1N0uf6P0uraOuWTw236pCqM5xE8MMsG9uFpSWtU g3aJ7utDZXjMBowJsCxq5DxtJ0xNsNVOpcealCIQmUQ0XcPQpsQu+vgr1RhOQF+MZK+F 8cf3ZE23CxefIa1yW7sy20LO5LyVvYjMH8xTWlgcec8ki0cu1DWt5wGbAPZDLNDpDQbr 394g== 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=qudb2ANsM0CuQqKn0uj6p5/qUzhLNbgkVf5Aud4YvTznBaC40gFdjV9r+Ur/8wmiUn E/h7h/WG7HHnojXD4aV8eqiNmbxd1XLlg+0nYqJsq2kj4YBS2MJn0U8lR9qM+7gRufh2 sb1G9F4aiI/qyvMOkvcYb7NiofCcPzZ6ZmXrs4icNNsHkVhTkmzSCEWwHKcHBwJ8Lo9Q b2+WjNibfOeN9oXawpqcMMJmjSLOUuGt3Z+JNVfnHvesZIVpF00k7kuRjOuxEyXwc+s0 j85F4hee0B/v1GdwlXELU1pcWf9Ewfitxu54/rIx1cvZuNnhMz2kijYgqyxKSORP2Sm7 SYgw== X-Gm-Message-State: AOAM533wqG1jb4Ro3xGsW+H8QKy+wlnk7NVDFRuk5MPqQL7jCk+sVAo6 lnyZt0USSXADz+kAEXUmmbv2z5Mo9iOBjA== X-Google-Smtp-Source: ABdhPJxdepYheC8XBnKULGdT1CqT9hEjJDnBaNanhxZhj71GHfb1ILe+mRyj5RuaGoUZZZfADK+GNw== X-Received: by 2002:a17:902:9a8b:b029:12d:7179:2f6d with SMTP id w11-20020a1709029a8bb029012d71792f6dmr3243684plp.54.1628766681906; Thu, 12 Aug 2021 04:11:21 -0700 (PDT) Received: from C02D70YZMD6R.bytedance.net ([139.177.225.243]) by smtp.gmail.com with ESMTPSA id l126sm3291830pgl.14.2021.08.12.04.11.18 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 12 Aug 2021 04:11: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 19:11:04 +0800 Message-Id: <20210812111105.54307-4-wangzhihong.wzh@bytedance.com> X-Mailer: git-send-email 2.24.3 (Apple Git-128) In-Reply-To: <20210812111105.54307-1-wangzhihong.wzh@bytedance.com> References: <20210809062548.30187-1-wangzhihong.wzh@bytedance.com> <20210812111105.54307-1-wangzhihong.wzh@bytedance.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 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 --- 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 11:11:05 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: 96845 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 3DEA6A0C56; Thu, 12 Aug 2021 13:11:37 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id ABE9F4120E; Thu, 12 Aug 2021 13:11:27 +0200 (CEST) Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54]) by mails.dpdk.org (Postfix) with ESMTP id BB3AF41201 for ; Thu, 12 Aug 2021 13:11:26 +0200 (CEST) Received: by mail-pj1-f54.google.com with SMTP id w13-20020a17090aea0db029017897a5f7bcso10122365pjy.5 for ; Thu, 12 Aug 2021 04:11:26 -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=hY6ouGw8T+WDX0exTmT6jQZ3RtudDl+oYJeoGPtVz0Y=; b=O6Rhz9fL+KB1LRif2IHdU8u3UI+hfkDd3UtuEVrjMMIAVSoUbOZwG3GRVGrauR0O/U XcEwBqZW/U+bCRximqpJSLh/Wel5UqQW8wgiMW9ttAKDZzTQ9Ph1FMG/ZLOiZ8ctM7vy APWXvhNMccHSk1RV9vDTtkOzFMebgjnwVGvM7U6oRyRRtwOIoC2HiI0c/yFpoyFKbUZY Aknjk+sYcVy1OGCouvrvaH8vxkfCYRtJiINWhIlYUy6A3hcM67fbuLqjNlROUAmkvY68 kcIlhLd+aHryN/ZOlB1o/v7tMGKuGnVBh9MyuBfxrKHK/ppwz39teKj9k5PK8J78zFbb REEg== 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=hY6ouGw8T+WDX0exTmT6jQZ3RtudDl+oYJeoGPtVz0Y=; b=Qgurfrix8oTLK7oub/fHIdKNvX+A6FdhPJvWYMxvGeuTvh4bkHOBgBwHnILCuRUvHd QsrwPRtbLMW8mZO6YDpbe1Ez15Oo20k228y9n1k6pUihAC8Ja/kDkJLH6eHHOJdCIPFG PzM06gIp/ZeNl+Fr4vMMJX4KnczbkeWpkzRhTVGIegplfMTdihbKwo4kMBhupVpsFDl3 1tQ6wJEAs4cXw6IenqFaLwzNOC9TXwMEKgxzJgGHcDJktacryzk7oeJJByhMT6D2gmlM nb6I2E7I+A2V7y8IP6kejXEurg+9tXvNZ56l4Df4XkQG+4Q4k9NtZY631ZlPRtnzOWrS cAnw== X-Gm-Message-State: AOAM533KH12FtweRuxdEX1mPamM4py+jlRtHc2ejqKrWeTMBvXF68tvF j6tkWu4RZ2KM6+Nmq6yBNZtIGKotVzQy7A== X-Google-Smtp-Source: ABdhPJxh3zxOOVzoUrMXUF0lsXvSM8dA4hBY3Vzom/iLfqiHJvvzQKAPD2y9Ch9liU55NtrwMr6iog== X-Received: by 2002:a17:902:d512:b029:12d:4338:531a with SMTP id b18-20020a170902d512b029012d4338531amr3188751plg.52.1628766685728; Thu, 12 Aug 2021 04:11:25 -0700 (PDT) Received: from C02D70YZMD6R.bytedance.net ([139.177.225.243]) by smtp.gmail.com with ESMTPSA id l126sm3291830pgl.14.2021.08.12.04.11.22 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 12 Aug 2021 04:11:25 -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 19:11:05 +0800 Message-Id: <20210812111105.54307-5-wangzhihong.wzh@bytedance.com> X-Mailer: git-send-email 2.24.3 (Apple Git-128) In-Reply-To: <20210812111105.54307-1-wangzhihong.wzh@bytedance.com> References: <20210809062548.30187-1-wangzhihong.wzh@bytedance.com> <20210812111105.54307-1-wangzhihong.wzh@bytedance.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 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. Signed-off-by: Zhihong Wang --- app/test-pmd/flowgen.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/test-pmd/flowgen.c b/app/test-pmd/flowgen.c index 229794ee9c..fc9dae4ab3 100644 --- a/app/test-pmd/flowgen.c +++ b/app/test-pmd/flowgen.c @@ -51,6 +51,8 @@ static struct rte_ether_addr cfg_ether_src = static struct rte_ether_addr cfg_ether_dst = {{ 0x00, 0x01, 0x02, 0x03, 0x04, 0x01 }}; +RTE_DEFINE_PER_LCORE(int, _next_flow); + #define IP_DEFTTL 64 /* from RFC 1340. */ /* @@ -80,7 +82,6 @@ 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; get_start_cycles(&start_tsc); @@ -136,7 +137,7 @@ pkt_burst_flow_gen(struct fwd_stream *fs) ip_hdr->packet_id = 0; ip_hdr->src_addr = rte_cpu_to_be_32(cfg_ip_src); ip_hdr->dst_addr = rte_cpu_to_be_32(cfg_ip_dst + - next_flow); + RTE_PER_LCORE(_next_flow)); ip_hdr->total_length = RTE_CPU_TO_BE_16(pkt_size - sizeof(*eth_hdr)); ip_hdr->hdr_checksum = rte_ipv4_cksum(ip_hdr); @@ -163,7 +164,8 @@ pkt_burst_flow_gen(struct fwd_stream *fs) } pkts_burst[nb_pkt] = pkt; - next_flow = (next_flow + 1) % cfg_n_flows; + RTE_PER_LCORE(_next_flow) = (RTE_PER_LCORE(_next_flow) + 1) % + cfg_n_flows; } nb_tx = rte_eth_tx_burst(fs->tx_port, fs->tx_queue, pkts_burst, nb_pkt); @@ -183,9 +185,9 @@ pkt_burst_flow_gen(struct fwd_stream *fs) inc_tx_burst_stats(fs, nb_tx); if (unlikely(nb_tx < nb_pkt)) { /* Back out the flow counter. */ - next_flow -= (nb_pkt - nb_tx); - while (next_flow < 0) - next_flow += cfg_n_flows; + RTE_PER_LCORE(_next_flow) -= (nb_pkt - nb_tx); + while (RTE_PER_LCORE(_next_flow) < 0) + RTE_PER_LCORE(_next_flow) += cfg_n_flows; fs->fwd_dropped += nb_pkt - nb_tx; do {