From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Anoob.Joseph@cavium.com>
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 <dev@dpdk.org>; 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 <anoob.joseph@caviumnetworks.com>
To: Bruce Richardson <bruce.richardson@intel.com>,
 Pablo de Lara <pablo.de.lara.guarch@intel.com>
Cc: Anoob Joseph <anoob.joseph@caviumnetworks.com>,
 Jerin Jacob <jerin.jacob@caviumnetworks.com>,
 Narayana Prasad <narayanaprasad.athreya@caviumnetworks.com>, 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
Content-Type: text/plain
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: <BN7PR07MB489895DEC500F13F501E080BF85A0@BN7PR07MB4898.namprd07.prod.outlook.com>
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?=
 =?us-ascii?Q?fTHxdhlSQn2Z2ruvyMscJ5aC3y+qs1SPwdvW2RwshdsE7/XUsNk1Aq/Y4WOt?=
 =?us-ascii?Q?0Ov2qSe2BGUiqKmoyBbqBWcptEyhy3l4ZaW0wgVdV1MPNx3A/dMGbVmWXTOa?=
 =?us-ascii?Q?OIdnoKrsEnAgzm4DqVNPrle8vs29hveTUQ9pOtxu5tc02IT+l9VV3SoTwCbv?=
 =?us-ascii?Q?s9QPnMSt3BPffcLGCmBMIgthF6W++7NuA+o3lpxbWB/vSeWQsx/c+MGteXTP?=
 =?us-ascii?Q?vNt2Q9nOJ5jzFVM1u/WWnK2/wSw2QFh+HpxeBIGXHkaw61G3+VwWPhA2wXiv?=
 =?us-ascii?Q?eDto9fctkbEv68ztc2mnjUP6/KCepEogTWogSupqhfQTx2V0PF/WC495bM3v?=
 =?us-ascii?Q?7+kIZHqRTyIadvbMbdYMn2FWyXR9rmO81QGuxOrW7k4KuXWkLYnEyq6+YIz2?=
 =?us-ascii?Q?Vk0ZPnc+x2XO8Iikxs5xCSMUnEotYZn3WiVPxqnUWWlCYD+YR9wf/41L2Cb5?=
 =?us-ascii?Q?11vih2sVenDB0tr0onxas1WtkVU+egjEk8YDVMVNXIfLqZ4owoOc1beXBKth?=
 =?us-ascii?Q?Bm/Rli4jpqr9KxV2vrbwJtry2us8GG9s80G5OKvruIpKco+XKYQ1EwsT/DX4?=
 =?us-ascii?Q?HDlmnrEQzhV3xSm8bJBZrOb+nu5r55jMj4ke/6oAQScztYSKWSoG/fsVqPr4?=
 =?us-ascii?Q?Z9y2yINi0N91xluZTed9hv+bmoTIr32uM5mvYIojDCgOVBhwQiqVeeneE7Ul?=
 =?us-ascii?Q?QYJS1yUVSnMCrH2JZGE5Rq5Jvh9wC8YvskNjoUlRj7XgpA74ADQz+TMnJwRm?=
 =?us-ascii?Q?gTUorbwG5BpKP81GlQhexlqz3t3ifeS+r6EV53xRtNHlYM6lJC5oz82kA8kK?=
 =?us-ascii?Q?UQ29W4gyJtTBwoeiBSGI3TIOFHObNib1fVrDNuIVeiTWxaeUMSdbEC9viiug?=
 =?us-ascii?Q?DeH5UgLQFbImItEkq2EYGHNRXOOX3jCLWUJ7C+LJhS/USYq/b0vXQY4Sl7G3?=
 =?us-ascii?Q?JX0r7CmQsThibgDaT0Inko0pjdtCldVQ2vlQHqjk0qbPQXMiOgHqruLkq0JJ?=
 =?us-ascii?Q?mBvzGGtuZqynPNjGrnzCvgJo7Ac3dE6bYR3zlRm7OY48bLlm2dSJ53/iI26E?=
 =?us-ascii?Q?sEhQIe785xZ7jbN9tYWwtu9q5Dd9czEk2PBzpg3cwuAioh/HDl0k3BHNits7?=
 =?us-ascii?Q?ze0rKZqoU6DDsPEqcWU5t2WcKuHR0uEKwLlAG3itkVFbMV1T/xmvcwpd0vTL?=
 =?us-ascii?Q?VjcfOQKqz6YJPAh2b8=3D?=
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 <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Wed, 11 Jul 2018 06:08:15 -0000

Signed-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>
---
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) {
-- 
2.7.4