From patchwork Wed Jul 11 06:07:22 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anoob Joseph X-Patchwork-Id: 42784 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E30C91B4E3; Wed, 11 Jul 2018 08:08:15 +0200 (CEST) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0049.outbound.protection.outlook.com [104.47.36.49]) by dpdk.org (Postfix) with ESMTP id 65C621B4E3 for ; Wed, 11 Jul 2018 08:08:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Dd42LBRG75zWmITQduYidyMFICNYaogevNt2bB1Eeq0=; b=SjygG2Sg42rrW87fiSS/AmX8Y408bho7h6fehm6QctbJJDGeHDTS+5JNBI6knArl63XnJu5ANGZAsr8RLXGQsr8Ek/0/7O0frOaDeqZ0sVUCqBWDzP2e3MqJPXkNbEq4tFZZEKwr9ODORjMUlK/Tm2t5sQRCOkUJLJsDyo/BLoU= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Anoob.Joseph@cavium.com; Received: from ajoseph83.caveonetworks.com.caveonetworks.com (115.113.156.2) by BN7PR07MB4898.namprd07.prod.outlook.com (2603:10b6:406:ef::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.930.21; Wed, 11 Jul 2018 06:08:11 +0000 From: Anoob Joseph To: Bruce Richardson , Pablo de Lara Cc: Anoob Joseph , Jerin Jacob , Narayana Prasad , dev@dpdk.org Date: Wed, 11 Jul 2018 11:37:22 +0530 Message-Id: <1531289248-20025-7-git-send-email-anoob.joseph@caviumnetworks.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1531289248-20025-1-git-send-email-anoob.joseph@caviumnetworks.com> References: <1528976946-14396-1-git-send-email-anoob.joseph@caviumnetworks.com> <1531289248-20025-1-git-send-email-anoob.joseph@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [115.113.156.2] X-ClientProxiedBy: BMXPR01CA0027.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:c::13) To BN7PR07MB4898.namprd07.prod.outlook.com (2603:10b6:406:ef::27) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 43a2d9f2-4c73-4573-bb89-08d5e6f4af61 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:BN7PR07MB4898; X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4898; 3:CEgdkgOw662FCTlbJZzaRLrdH3wnp8IPaenmFPLPK6QHl31pO2T5Z395g/gspfkMev0kyIo2A3MSK3RfN/FedNnMwZYxdckghv9/8cC5Np9Yb6Koc6xOFV995OW3lsfo9XyK55fs50PyvvHjqOMUa1wQp/hxEImfpB9r5f9EVIFtN3crvFDhaQpDzf/Rj2NjoWpBHZZkTDx7EEi54U3L+G2Q8Sw0ChryKYH6iV4AOdcjZIVC5iQU8iHCCQyIlBOr; 25:ycfZ/wdg4WH3eWYZt1XHEbn56ecyN5YkwBCRLLuIkMSQZyPeQdakXYFu17H4K8IpSLoNlaz0jkzFVP+k3rOpMBlqdTi7gVmiK9LXUteteQXLx7e89JjFfS0IEVvbE/28jsZBbmLt1f3TZb4Htq31jvhsXpCBywOacUIc3WRzVtNQ3yqlqKzxCLkcHSqxqlInxqOiAxrkyzEInSADlL2XTP+PGRiVZ1CGwvaR7stgrdnvhV08OpyS+aYjmbES/TqYJqNgMtstutobVNYC78ix+WiuAe01gqjfzB3zufzxPpYNoRLmL+CyYsHDJnkrBSD4j3FjpiPkmaf9bs+Aad7/qQ==; 31:OvXM7YtTjph37nYTYYvrQxF8ArbZaMiYcZ2p1RQRYaoGdkgKOKHezC24FmHXXw88JZTaD5EtHpU1UcVRaM3wpaT259szoLZGGVFAIYCZokTBhKFRtzU2ye/IrzhmOeV3A4XzVzq5vq/cyv1zL2vd6h89zuUGIwO/ya+dxfKHwZBWQTpBXFMnt9CY6l2KJCLO1yTFMeKneVST+lnydhZ/yzoaIeaaXW/C5mxxP3QR444= X-MS-TrafficTypeDiagnostic: BN7PR07MB4898: X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4898; 20:r4DyXxRAOuSu0Eg/qn20ihNsQsB8bQewxzltzwe5UzFvGj+fs6BCe1/taqLyzkOzTxgroZvwdWRU54+JwhWdhQ7+Kxs8IHjtTQr/STSD600kZsHIyvNyMGh/+Uk24rbsCtcU7rLsHa1aNMUbUKrCS1i/7SyOS12v/630BzGAN8kpLnsPQwldWhtQ8uYUrX+jChZsV6FeRvVPoyNiBhXORhuGOBLQnoVsBE4ylbhDztEc+zGIKngtq2spXanzaaLP3MUXF9mIBTWNVdWz8hsJHcXcXCOWBt+XNY2vqu47X6dX5KXkHJ6+0WI6CVrju7Is/V18ucu2I93H4ZJXO6l1Woi0WUzeF3plGMUALSPoPg93NeHdM/XcPsGnkCEVQ1HHRMaL7U6KyYl4jJ1dSZbjEKEEzy3wNB9ixqJoHTh5YX8eMr2/qSengcg7fOVlGc2Kl5hTbmAeQarUylAoezkTyDrCr07ZGMxNLfPneWux5MCSBDYKPxCmk0yX4CBikLIbHPfQitFxBVs82N7BnOVX9KRQptgoSAsHj0ptW5OW0kGPZ0XuH0FNqToBMREa2zFYXfqgXp8T7nVrd76kiWadzW1wV2EeONo7kg4EaLSr2KY=; 4:Q+oAo7EYWfYOZJ9fQ04xVrVzeANpdb8wsU9Mvzm8WEwdHOe7mzDOwLeBiJSRskt4mgqxWWkTftG9S+RZzOyisTE+iDSwnI7vkXm0xyLhZbGNWfnT5dweHABL9a64xNeOKNFt4qWAgvnfwdGn5rKj46VWGqoZLiFNNZ75rzVYWyMicfXmMp5zR7hFz3pxAODGMSEoP6ZS1kxvopO3PT2wzQT1fnYlPb+o8HCcoLKBeiyNe+PV/MNHY4jtChmlQoYalDHQHguujflYiqxsX4Vs4w== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231311)(944501410)(52105095)(10201501046)(93006095)(3002001)(149027)(150027)(6041310)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:BN7PR07MB4898; BCL:0; PCL:0; RULEID:; SRVR:BN7PR07MB4898; X-Forefront-PRVS: 0730093765 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(346002)(376002)(136003)(39860400002)(366004)(396003)(189003)(199004)(68736007)(81166006)(8676002)(81156014)(44832011)(50466002)(6666003)(25786009)(6512007)(7736002)(4326008)(6486002)(48376002)(8936002)(2906002)(3846002)(478600001)(72206003)(305945005)(6116002)(486006)(16586007)(2616005)(54906003)(110136005)(316002)(36756003)(476003)(956004)(446003)(11346002)(47776003)(26005)(42882007)(52116002)(105586002)(186003)(76176011)(16526019)(66066001)(106356001)(51416003)(97736004)(6506007)(55236004)(50226002)(53936002)(5660300001)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:BN7PR07MB4898; H:ajoseph83.caveonetworks.com.caveonetworks.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN7PR07MB4898; 23:rB/DUhK9YM77yVYGO5bU3A69maTVqurZvb6UqzoS7?= fTHxdhlSQn2Z2ruvyMscJ5aC3y+qs1SPwdvW2RwshdsE7/XUsNk1Aq/Y4WOt0Ov2qSe2BGUiqKmoyBbqBWcptEyhy3l4ZaW0wgVdV1MPNx3A/dMGbVmWXTOaOIdnoKrsEnAgzm4DqVNPrle8vs29hveTUQ9pOtxu5tc02IT+l9VV3SoTwCbvs9QPnMSt3BPffcLGCmBMIgthF6W++7NuA+o3lpxbWB/vSeWQsx/c+MGteXTPvNt2Q9nOJ5jzFVM1u/WWnK2/wSw2QFh+HpxeBIGXHkaw61G3+VwWPhA2wXiveDto9fctkbEv68ztc2mnjUP6/KCepEogTWogSupqhfQTx2V0PF/WC495bM3v7+kIZHqRTyIadvbMbdYMn2FWyXR9rmO81QGuxOrW7k4KuXWkLYnEyq6+YIz2Vk0ZPnc+x2XO8Iikxs5xCSMUnEotYZn3WiVPxqnUWWlCYD+YR9wf/41L2Cb511vih2sVenDB0tr0onxas1WtkVU+egjEk8YDVMVNXIfLqZ4owoOc1beXBKthBm/Rli4jpqr9KxV2vrbwJtry2us8GG9s80G5OKvruIpKco+XKYQ1EwsT/DX4HDlmnrEQzhV3xSm8bJBZrOb+nu5r55jMj4ke/6oAQScztYSKWSoG/fsVqPr4Z9y2yINi0N91xluZTed9hv+bmoTIr32uM5mvYIojDCgOVBhwQiqVeeneE7UlQYJS1yUVSnMCrH2JZGE5Rq5Jvh9wC8YvskNjoUlRj7XgpA74ADQz+TMnJwRmgTUorbwG5BpKP81GlQhexlqz3t3ifeS+r6EV53xRtNHlYM6lJC5oz82kA8kKUQ29W4gyJtTBwoeiBSGI3TIOFHObNib1fVrDNuIVeiTWxaeUMSdbEC9viiugDeH5UgLQFbImItEkq2EYGHNRXOOX3jCLWUJ7C+LJhS/USYq/b0vXQY4Sl7G3JX0r7CmQsThibgDaT0Inko0pjdtCldVQ2vlQHqjk0qbPQXMiOgHqruLkq0JJmBvzGGtuZqynPNjGrnzCvgJo7Ac3dE6bYR3zlRm7OY48bLlm2dSJ53/iI26EsEhQIe785xZ7jbN9tYWwtu9q5Dd9czEk2PBzpg3cwuAioh/HDl0k3BHNits7ze0rKZqoU6DDsPEqcWU5t2WcKuHR0uEKwLlAG3itkVFbMV1T/xmvcwpd0vTLVjcfOQKqz6YJPAh2b8= X-Microsoft-Antispam-Message-Info: 3bOxIaLTqdybPGyftFWlAENiod65esKiMZkyR+vPsohD1BGKW6Tpkp5mxz/hBvZEDpsm5nPuYGHd1BKivNdIdWqwDoLMFdd+srNNecJQg6dyBtUbYIL+uwJAXXizt5k1RpyY3dqbD5QsLSmltLaAiAo4yLbsq4vmNdLsDoP2BE/Ep15DYEDEhZHCgpxGm798TTfxduZBC7CHXx5uQI8n662MfLUr5Fp0Bo0AaKygxwr7dO862a1misQtr7sBQuJRkteQ48RdruawhHbKtDfFwqY/FA+WVKVVfnAMkw8MGzze/ZeREL56Ax2XTFeCrYhgFLfeCR++0+s7pLgJtUltzfbjL/RG2WoR2+YIrhu5Tpk= X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4898; 6:gCz50+nLjvrCETeKifLIvDLSDVoqKiOBsClsxCijvn7/96tHqnqJo409pA6x1Vd0ojsL3UWUDFu+PZI3ojcWz0bquY27KyM7/0utuhmzo1fDwNONSqkdFyPZdCQCSvdFYePYODimMSoz6gvpg5zIl5NFDeugysQVDI6jd3EuabX9wwOSerzuBD0QMDDxQgSg2Rk/hw9WGbM1BCzJnPJ2fEorgiKCZY29VJI/W/0nqW/96XG6fJeZV5udlHHMV2m4C2hEk84WiaXc7MoBgMQAzCOKFvknQKiBusXoy4ZMsPm23AijoG+U8eH42Uc9PWFDtoW/QvrrMDhc8YDs43FFI8/pSqaoaQq/F11+TLI2lA+0GjF5zO6+ZCx6ni3qb5p2XvA8zWdRMHEbtDJYuaNzeH1xS8FxVs5YkkmFYoM7XKmbtlwwSnkNUKCVuMKxtXHZ+rOtMEmWYLX/GQfrhaZPbg==; 5:O3mHNT4KsMG1SHMnexp45LvoZdFV1j/J1fR8wEW1L+A9GdD4PFntzisz4VoD1gazLGZ4/wB3KuHCoDfKbhKeitjxWbW5dJ6SoZqswVGjAel/E/I7JL/hXN60F31m7t+vndWLHYI4PR9HfFuvodZ4a0c5edVGjMXzDIk98H5k9IM=; 24:SR7Ibkdyc0Ut85an3NDydhjDmpT4rZmCJOy9L5S9AUpW9Ky1+JL1+Arcq001egGKH1uHnXNO117JGmtIFTa6GEmcHcAkjwRraJwWzKQ87W4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4898; 7:qO5uXA8N0u+E/mMuDveoZqOHGQsGC05kZyjBzyOgVCfPgKHPcqkbVcEJIOZ7hIqvaMwSGSoeplNnJ6h6jSjNY2R38AhLRBz2grL2+L1KR+H0d5n525G2JRIHEZAXvD60Th2ixY+iq3FWAMEG2tt5eVRv9odWmPuxYowUBZZKF2r21uR2GwFSidl7kMI8v2HjTl5b8vN6xqiTF7lGmE3mnvgIL6H2mEyMyVM4W3uWowYfaLGBULgT84JanW5EVGkK X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jul 2018 06:08:11.3436 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 43a2d9f2-4c73-4573-bb89-08d5e6f4af61 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR07MB4898 Subject: [dpdk-dev] [PATCH v2 06/12] examples/l2fwd: move drain buffers to new function 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Signed-off-by: Anoob Joseph --- v2: * No change v1: * Replaced 'unsigned' with 'unsigned int' examples/l2fwd/l2fwd_worker.c | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/examples/l2fwd/l2fwd_worker.c b/examples/l2fwd/l2fwd_worker.c index ad5468a..dfa78ed 100644 --- a/examples/l2fwd/l2fwd_worker.c +++ b/examples/l2fwd/l2fwd_worker.c @@ -76,6 +76,24 @@ print_stats(void) printf("\n====================================================\n"); } +static inline void +l2fwd_drain_buffers(struct lcore_queue_conf *qconf) +{ + unsigned int i, sent; + unsigned int portid; + struct rte_eth_dev_tx_buffer *buffer; + + for (i = 0; i < qconf->n_rx_port; i++) { + + portid = l2fwd_dst_ports[qconf->rx_port_list[i]]; + buffer = tx_buffer[portid]; + + sent = rte_eth_tx_buffer_flush(portid, 0, buffer); + if (sent) + port_statistics[portid].tx += sent; + } +} + static void l2fwd_mac_updating(struct rte_mbuf *m, unsigned int dest_portid) { @@ -116,7 +134,6 @@ l2fwd_main_loop(void) { struct rte_mbuf *pkts_burst[MAX_PKT_BURST]; struct rte_mbuf *m; - int sent; unsigned int lcore_id; unsigned int master_core_id; uint64_t prev_tsc, diff_tsc, cur_tsc, timer_tsc; @@ -124,7 +141,6 @@ l2fwd_main_loop(void) struct lcore_queue_conf *qconf; const uint64_t drain_tsc = (rte_get_tsc_hz() + US_PER_S - 1) / US_PER_S * BURST_TX_DRAIN_US; - struct rte_eth_dev_tx_buffer *buffer; prev_tsc = 0; timer_tsc = 0; @@ -159,18 +175,8 @@ l2fwd_main_loop(void) diff_tsc = cur_tsc - prev_tsc; if (unlikely(diff_tsc > drain_tsc)) { - for (i = 0; i < qconf->n_rx_port; i++) { - - portid = - l2fwd_dst_ports[qconf->rx_port_list[i]]; - buffer = tx_buffer[portid]; - - sent = rte_eth_tx_buffer_flush(portid, 0, - buffer); - if (sent) - port_statistics[portid].tx += sent; - - } + /* Drain buffers */ + l2fwd_drain_buffers(qconf); /* if timer is enabled */ if (timer_period > 0) {