From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Jerin.JacobKollanukkaran@cavium.com>
Received: from NAM01-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam01on0056.outbound.protection.outlook.com [104.47.32.56])
 by dpdk.org (Postfix) with ESMTP id 3F02737A0
 for <dev@dpdk.org>; Thu, 29 Jun 2017 16:20:40 +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;
 bh=hxKYtyBo3wkILxlREkbz2T4Gwr+6qc/DdQqlj/60nb8=;
 b=c7uesvzGl1OlvGITg/g83TWgoi5EccpywE44MgW0tgBiBVN93iEIawN92qeptUOSHiPSSk/Uf7OYRU8UCyzz8aPWdJjRL9Iic6Bnf+U5/cIfxzC7G0up6O2jITgAmX4586f5ygCdm/WhMCWQHSvmKKnI5dPJsDKHDD+iirW59ts=
Authentication-Results: dpdk.org; dkim=none (message not signed)
 header.d=none;dpdk.org; dmarc=none action=none
 header.from=caviumnetworks.com;
Received: from jerin.domain.name (111.93.218.67) by
 BLUPR0701MB1714.namprd07.prod.outlook.com (10.163.85.140) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id
 15.1.1199.15; Thu, 29 Jun 2017 14:20:35 +0000
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: dev@dpdk.org
Cc: bruce.richardson@intel.com, harry.van.haaren@intel.com,
 hemant.agrawal@nxp.com, gage.eads@intel.com, nipun.gupta@nxp.com,
 narender.vangati@intel.com, nikhil.rao@intel.com,
 Jerin Jacob <jerin.jacob@caviumnetworks.com>
Date: Thu, 29 Jun 2017 19:49:53 +0530
Message-Id: <20170629141956.23132-2-jerin.jacob@caviumnetworks.com>
X-Mailer: git-send-email 2.13.2
In-Reply-To: <20170629141956.23132-1-jerin.jacob@caviumnetworks.com>
References: <20170629141956.23132-1-jerin.jacob@caviumnetworks.com>
MIME-Version: 1.0
Content-Type: text/plain
X-Originating-IP: [111.93.218.67]
X-ClientProxiedBy: BM1PR01CA0109.INDPRD01.PROD.OUTLOOK.COM (10.174.208.25) To
 BLUPR0701MB1714.namprd07.prod.outlook.com (10.163.85.140)
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dbc276ed-f28f-4cd7-c868-08d4befa03d5
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0;
 RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);
 SRVR:BLUPR0701MB1714; 
X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714;
 3:eFYxuGvIhcyxtHcR5vFovQu5Kdo6ZZRhLjTYCz/QpQ3RDgyUN3B6kyI2Xb80ynvekHaAKB3l9p0CZg9BmwvavWw2jYAZjXM7H1u3XWpr1kBABqeMQ5NVtJ6tYHlMit1LSmHY9EvalcgyNZtA4D8oXfHExOHK/2a2Zd27TjAfk0RilkOdan+I8AcZqxVRbaIde7DvKOt3iZtxFSfGyoSl1Y4uk1Wpu8klnEoskCPsZ7IMw9hQxITZBm9brlMqDnHP8hhUDyea3BXLzAPsYgr9eJps7Xbyt9XxhNPsXmoT5xyh06eBEzvhkj+Hl5ORG0g9N5BXkJr4THvU9IPC6RlwC982JXx3IojyUEmsE0rYCynizaB31mrUMNCtmdc1TvukQiKiYxQgRjLxTkPbX4hquAZvUaq38ZIdqHqZO5f4k2WDWa5uNJp0Emiivycvzw9gTNxGolY83ZF7BkxaseIHbi7jHgc4ulMuYOsHsw3WHW82jc2G7smzv43Xsf6VdpihmDCtcH4/0pN0IlQud/kczTS5wnTfq6YU0b0G/5B/duCt2CFDZ1ymYGqbkgawbcTq23Dgwf64OPSjwtMu79pWcTSIFvmjvF2CAdO+W3XjY0RXEGiL4nKPcyt61C9BCecdo3mKgiH3PSNtuCLMduJuD94xeVw6D3a6bEQ66uVGVFWYzTHEq7KnnDQGS5fr+Aarf6qR6GVC4DwuopeyJPp1EGcHz/9v2Mg+xkXSE6s0z5U=
X-MS-TrafficTypeDiagnostic: BLUPR0701MB1714:
X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714;
 25:4jYLLv2P5fNOT4DSFPEbd1pAEaysh2jB9Y79wCxIF9Fap7pLZLMboK/rzh2fuET+KVvnakCGF+1GAySgk1hrcc60Q00qUowU8LlzUxRVwYA3Clf84+viNOPnLZl36xb6ykgf1+2b5Xo85qOOGVZsAzX0HgIXmQWk5+kF5x8Fwp6P6fe3zz+6mmHuCHXuDEEiMqN6h5BUssyFAtLjbTlUKTBoL/2ENXhv0f08DzhMZBG30rsC5F6JLdvMUrcf9KxyQ+XPk9hkvqclZhK/Oo+Ys78G1xaopS6IZ6c5N/8WWsYTIHSK0OE+0RxWFJrctEKY3Vw/hb8Q+bGd5WPQFCyFmCbcCCsavFQ2xjp0kmKqFJHBL28Iw02IXoaQYz4jDhL1uEa1BP03th6Ng/fnN/TowXAjCZJ0cAsn2njRvWVefU393etRS9/88ixK/bBModkMjaX9nnJGm1EXMWU3xDAMFpeM+92s8eFsdDnyO2h/NFgXY7nz7+cioXoNWGvP8nAO+2U3KA4PTFHi1DQMTolomr3hXHGA2dTsh3euD3MC6sNm8GB2dezuXjxlN5X+o5iAllOl9w3JJ7p6/PBDWWAHExl03zNc0VFeGLt0gPGRLd5kU3MstXCcJ7refUAismQJYXaXf+hFTVSVmlHG7TegK65HMRe8ry0Tm8dSa6Kk/BGEsIEldi4CWqFPzbixrsxMPnq/OTa6ye8YzicSqiy+mjQu5Lij33/vt7SB06KhSYSBh4VfThR93bJWAiE/YZrkPbJMvzVSDBaOC16jYH/3xq3kI1L089adw4h23TeLb03Bl6PN0lYcZxnoww9VO1E3SynWJqIVWA1wgXGhsrc5IH60SaytaRovTGxPFi/VxgZdUaaBLeRW5disCo2V0PJyq8KAEbosJrRwXWzutMCn6hKB72bnWngAHDFH75Hya8U=
X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714;
 31:uIkYV/T27HPIx7d1KF5ehvvZILAXg3Lf3/JhWfEf+90iJ+ViQy3F3MdnBOFGjsvolKyAuV5aNsx+OgK3U6vVNB6VQMPK+V7WhJALxfJH9eURIzlkJHHDz/tATROFmOSARsFbnXIRKxnoO5ApQD2HG5mH1xpFBdWmigtnInZH1SZAKe5Ubw3jOEzPhHPq///wfeJ6R8r7iyvvcNRA6Um+6MGq4usZeMDYzTNFITYibLRM/YKtKhHf9+E0es61RlYuMIOeLjr9+RRmJJomgkOCAiR8krZtBadl6LVGhLAWo1z3YF5uacrdh/QBROE+IV0PDa5wP2wwWZwaNtMztVCIcDPyMapSKEcyD594j3s80kVSEaAIjM01R3vDshU+kB0fV90Vv1BZUgfKacMR+FFXjXnnQKVfB1XYXM9Oxfh3oqAXGjGCS1j0rN5iCIwkBkZ8POy20CIC4+buQC+s90wt+zS0xFVvPjMLxnC6I0GoaB9mEeC4e/IZRj9k+hPkl6mf/lKh5Z4A2Q9ZhGEnHn2iPw7GPcx909yP4uIp1iRGqvTAGQtBHV49+Cms3KZ3Vx3Nhac4XEQnSRjjoNDEG+K/nWbdhapyhCoy9CSw58uXVO4C00sBQHXUVGitqjaSTiVS+jJ3VdzAbjL8m5sS8BGkf9sQUWAr6zezy58Oebtd5v8=
X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714;
 20:5cKcGfbygKchlsZv6ljtXWBttYYZq4WIXHiAmVjwpFhvZ5UB2B/aoY0a4yea2FPlKjDGtK5jEj71DzAePIWSk8UBosemWqxRZJ0ZwLrZ4AqAicspz6rZMnDKWBrCHOZT8sWRQoW1coe3gPMTQb4Ee9C5iSk8MK+JYZN1Vn6RT9/932/PbHX9S6+WC5mRgtfN4KXsiOtRYQ3W6q/2mq3rxOmseuMWYe58fn9SQ+AK4e4kOk37vJ4GMoLfpAd0MKw1XbCkAbe+aGpEykljvn3VFgz7l3Hluy4I/VhCL3FB815OrW2x047zNfl4lTZ4IRmNKFmLiWlNt5A7k2z+hhB9W7jujsP813cL5oLGDKURZ+xY2pi7s2NeGzkaEGp8hkdrxLlsJiRmiifOOcVCigeaK97TV6Yd6XDr5zPDlpaKB+IvJKwVXIo/mnc8/Asj40DZYVA8bqJEKOIsxypLp095037pNHUC6mH23h60FfMx+OXVfn5f+H4brhxNu6kjCRiw+iZBI+e8SfP0ujIbi7ZCd2n9taWDnnKV9z0aquIA4uvDYYGZhIHG65xcIm47diwUuHPokOelfLVp36VVb3dHusBOZvn8HoLWPbI9owL/njw=
X-Microsoft-Antispam-PRVS: <BLUPR0701MB171494684ED274F29E7597C9E3D20@BLUPR0701MB1714.namprd07.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(148574349560750)(247924648384137); 
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(3002001)(93006095)(10201501046)(6041248)(20161123558100)(20161123564025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123560025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);
 SRVR:BLUPR0701MB1714; BCL:0; PCL:0;
 RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);
 SRVR:BLUPR0701MB1714; 
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1714;
 4:Mjlaeq3M9nWaiqFWVI6fR5gF2r4ELdKNT6dW2sTX?=
 =?us-ascii?Q?mE5AboGrNlvFD5Q8lJoKIfJA56y7UfImU3Dpyx0sK3s0BH75+80u5fqyvY7T?=
 =?us-ascii?Q?enTVcn5WyWj3+HKKZ74/8Zfoi8hMqnbeeV0Etse+aJseyfdB8834pRM64GWB?=
 =?us-ascii?Q?BvQqf++5VwP73+zj9HrEKNO2iNHX3UMj8OzBPfsZwurif8aQURTPyzULCk/y?=
 =?us-ascii?Q?qVyshWKGG+/X1AgDNHhQCh6v/AYOp/bYCpl7S+6vWlKIaGvAVjTGeK15ac4A?=
 =?us-ascii?Q?GWH84B8BPwTlwUJVRuM7fONr89PO8nNhx4SPY9EcN5+AvIzRTlSRjnvnhX9N?=
 =?us-ascii?Q?4R4Zoo0lwv6ED9NFN8bY0Jfep5Mor2OuvlGM6j0XGtkNiCuW1phac2hyJKwp?=
 =?us-ascii?Q?qGj3hY0G4MYuwTfPmM0tXfCSAgLVS4fx3Qe2Y62RO2DL7YQI2vp0uN3pc39Q?=
 =?us-ascii?Q?qZ16dxnrA/N7qSRzVg7LgFJ4DmR8UHdO+qH1qxbGJwhTLS73U5y8JKkVwug9?=
 =?us-ascii?Q?lNeia/yo+9jvNYfWy0kMCVtnSppO0FytkZsQOhCbMq6juqF+U3hnVZuxfWGR?=
 =?us-ascii?Q?N+V0vadErLzm5W508vQYv28jsrMAsY6TXMxyMIhGol3evzVzsBeAtV/3ad4g?=
 =?us-ascii?Q?AqxTqK+V67gPPaBwGMbvtJOuDJv3LJwB/NkeAiB1dnF7vR06sT/80xpv33pt?=
 =?us-ascii?Q?aVATHeoJOEYPUaLUM+dNKjIvTCBtpBZf76SBhwe/D/isx2LzXFaOhnX46oB5?=
 =?us-ascii?Q?pDiDufrwc+AiMgnLRTyxIhkBO5mvMhkBk1AsztUvT38p1JWTiuuuwcIeUlSH?=
 =?us-ascii?Q?eTDxbabyXKfbJWwX4HDJ66FoxF+n9Vn0Ni1odRWM4eG8iijW0H7aNr+9BbrT?=
 =?us-ascii?Q?+2U1tuy9Ml6JFkKQoUJFC/llK2BrUyjywk40DFvTp5XImdMkMcayHzZ7p+dR?=
 =?us-ascii?Q?bK+F45Ri57YuizCeppNCFeQuSME/RBKBhT85uxkAENX99bRH35m2nxX1nQj7?=
 =?us-ascii?Q?Z8CsSaZEuFPPq+iZaGpOfIOmfBzS2esCKXDAw2WL69vqTxgioymQ0gQNJcVu?=
 =?us-ascii?Q?LrhAWon/VB6U8IMVuAVetdP0jQZ1HLuogctNlvJ9B262x+CeRgQ+sP8FgzuE?=
 =?us-ascii?Q?pGRGvTroUzULoV6ITqwl/+8aYA4VNcdshFeEC1Hwm6f8aZ8CQLqIpYMisx0p?=
 =?us-ascii?Q?tPbDTh47FD33ZappqMOzXOMzUDhkzqegof7UpWohAcpD0r9ZvmFTjilJPRhf?=
 =?us-ascii?Q?6oqOteidmFzV8S0H2a4=3D?=
X-Forefront-PRVS: 0353563E2B
X-Forefront-Antispam-Report: SFV:NSPM;
 SFS:(10009020)(4630300001)(6009001)(39850400002)(39450400003)(39410400002)(39840400002)(39400400002)(66066001)(5009440100003)(50986999)(53416004)(966005)(76176999)(33646002)(5660300001)(42186005)(2351001)(53936002)(3846002)(189998001)(6506006)(8656002)(72206003)(50226002)(4326008)(6916009)(2950100002)(5003940100001)(42882006)(478600001)(6116002)(6306002)(6666003)(81166006)(1076002)(25786009)(2361001)(8676002)(305945005)(48376002)(50466002)(6512007)(36756003)(6486002)(7736002)(53376002)(575784001)(38730400002)(107886003)(110136004)(47776003)(2906002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1714; H:jerin.domain.name; FPR:;
 SPF:None; MLV:sfv; LANG:en; 
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1714;
 23:gAIVvo/O3E4WIFYQ4UGqbVu7cFkwDs4d9BGZatn?=
 =?us-ascii?Q?IXUngKg8CJNjlyoBMPsttDgN6kgWGx8p8oe1MfDcsrnMcPkZabxs24AAUzok?=
 =?us-ascii?Q?3y0WZbvZPLZXmxSJDtF7qAdHePyZ4DgSOXrrrZCC7BWS+h7LJo1suAJl9YOZ?=
 =?us-ascii?Q?T7ra19q3v+MAppmv8+PAaK4aVjmyQ/RSPFZ6rkhCMLpl4SV/hJQj5UeMSRCw?=
 =?us-ascii?Q?u8+JDxp6pMI4za3iA8EcmDenYFXiuQ2C37p1pz/ZaodXbOdQA99MJ23MAUBj?=
 =?us-ascii?Q?PRUzY9mMWgkkhwbdctFtjS9DS9tNpMw/sI3WD9qWiA/kOFt4fgWNk6IM1AUc?=
 =?us-ascii?Q?FcNlSTXgbQd4DiuphOBCF4uZf93ux/BD8lS8MIud8y+HHIVaU3X7nYh6xrDF?=
 =?us-ascii?Q?U6wwTZchKkk8WXli3ZTedAIcvNBlQs2R8t+vIUXkvis4DpnTme2XpqFoqkqz?=
 =?us-ascii?Q?wxIzeNH5J18WI4+QqeFlbgje4Opfe9kLKI6z4sAe22Fblk7JPROo+NdcYTVx?=
 =?us-ascii?Q?sRPI719Cpad0WR4I25uNLoYHvDljzLP+yD5laDvtoWoQRa8hr/RbkpiiR/+h?=
 =?us-ascii?Q?4gkjvY97rwFBAincrPpRn3Vkn5LHJX++AGlCtKWitc+fcT8v/KO4RYkBmVrT?=
 =?us-ascii?Q?Ja8mOdDlveCGPEkc5KGKDY4/NO2jP3BuZ215+O2zVGOxqb8d9H5yjlVeNe6M?=
 =?us-ascii?Q?0WMYFxUbV1I3gR7x2rkUCjIYZuf5QU8zRMD+Ax7AoubyxugmO6WSP+nNZVe9?=
 =?us-ascii?Q?pjbWauqA0hxyCky1qyos5nDbjSipJMXpt9s+hZFNpSio60GBee6tdRJbX2KX?=
 =?us-ascii?Q?IE7oD9s3zDc1ZGKpIzsUA0vYv+1znQNT0VVwUT69svxryilLWcqe22bF7E5s?=
 =?us-ascii?Q?ZhOJkg+7fXn6+1sF9anKvtA43oT+lWs+I9pWesMhsddJkjWfFM4TSVbtsptr?=
 =?us-ascii?Q?6BTEpZgiyJ91QF3SPo0Mwkej1kRyV0/0LFHWiAAWqGRKJ5FKfpxLYmAFbKko?=
 =?us-ascii?Q?iZ3ZQ0uMYS/HwZPXnxlrSqB2eXgl25ydJ1IkunIcrO49NppnDmc0Y8NG7ccf?=
 =?us-ascii?Q?ICiO8IkaIhA9Zl+cwx+kuL0Z0PWr3IbYY9EqBglVJexdCq7WHVOz8zfY6Q7V?=
 =?us-ascii?Q?l9H2z8AIQuTsmoeux67pWPCACqp7Xqg2p6DR0cfkLryV8MYeREhviPQh2zJ1?=
 =?us-ascii?Q?OV07p1UjN9Z8ikb0K/8s2bjVmWbJm307ZZWvJudMG7IrjCXiq8nUStig92mI?=
 =?us-ascii?Q?cCmpc7zuBRpuOy/QVDRw4toLVxaYcjwbihEllAueT?=
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1714;
 6:XeS6lO6aRcI6YgZsxBZPJtxXKDRdzrdldGi2Gk2m?=
 =?us-ascii?Q?P/eHPdY/x8b0zrCXszJGD4Fp9ZlWL10DXOISSdCVbRidmW/zITlDrMTLHXJK?=
 =?us-ascii?Q?EQUMVZPdJv1Iuzafxxr9ajX9hiNUWe2DhRv8d4/BdxjAlJx1ovD+8mZHD0ev?=
 =?us-ascii?Q?D3ZkzBZ/5aGHNEfKXCnXg+LO4/SjFVF35Q1D/EdBOuN3YCTbag1EbU2qllwm?=
 =?us-ascii?Q?P1XVqXnuM4eeBqNK8kyEKrhW6QmgEVDPTg1gpsSeTrlCSXia7OZql7LSAzoc?=
 =?us-ascii?Q?jZB6D2YuPiZUhwSGolqkg5PanNyDRf0xFJPMty5xT0lmD9OxcsZ+SGW7v7c1?=
 =?us-ascii?Q?CO0FPvAvopGaW1fNjJVjBGQpTm0fmFrD55mZgLIPwQooN6cGvt8PhxBxQxEg?=
 =?us-ascii?Q?jMRbZ9gScIvdb4DoFrJffiFH5dkwsebJV1vUWCZJdCms/goVOIJyKeIYis+z?=
 =?us-ascii?Q?JxNbv9dbWyd3YjDFdXmz/9qCdlL4SCzapjUAo/zyj6zFmDZJDNGtwGUpIQ/E?=
 =?us-ascii?Q?ARuUjje5Dt6+H2a5s+TNWOmlKjktTSnLB1izFsZyWfYPjL5VQOCIKvHA9Zio?=
 =?us-ascii?Q?n0jOLBOf5rU+7PA4IjGr4ubsJBeLWKo2lVrnaqxEJZ4z3YcpN+7Ks5rReD/Y?=
 =?us-ascii?Q?8Ym5/+MKcLf8/cUAFewZ/rmlZPZo3n+WWJCPnbZaJ6XOtEklenuRajlOWn7V?=
 =?us-ascii?Q?DfzSEOD01wSWhVfq3sFlu+QWT7PtL/b+iyrfe73kz7s/Rs7EO1HD9hlZTh7w?=
 =?us-ascii?Q?XpCCoOp3biptetEC/wmA0eLEHG/ZDuK1yrvIjeYbnmJP5sEm1WZgthercPnR?=
 =?us-ascii?Q?mXt7oWByQ8IOvhDaDt7x36HHBKFTACNN9A2OFbt34Go/LpHVatvPJ2Fo9BPJ?=
 =?us-ascii?Q?ouoV9eNxtJ/n6h7LLXBmEgpyzuzmMDU+P+aiskThC/RrFd6oEZgJ8YtL64VV?=
 =?us-ascii?Q?UO4DySSOKPDBNwktRUktTO9L9AHStPu3ks6s81ZO5F0a9Wl8Xo/gKaCJzOhO?=
 =?us-ascii?Q?UKY=3D?=
X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714;
 5:cTqUM8UJz5FD03zvv7BZAkjxSOnYd3aD3QagkJhCenw45jazwyljhUQjJQJxDD8n3tXB9v1762ciiQtee3PRtQjgQR3CjTIFUdrCWMiigfmpeb6yFNc3Aq79R2VTaO7CuLor5tNn053yAo68B+hwGOZ+MyntM2MYVsCeT6QRxr+TceM5uM+Dib+P4NE3bUK7X/fArzdS6FOZkt2nxp5VIsMBECCYU1CYZZvJJdZaQRVHhK+6IU3o+9L62LtrX7prkwXMPyb6SbzC43tiv0ExGO9o1dTtlZb9k52Py0F4I3QA/EKQ4ESvlaeMYEJ3L8JBlRMgNI8aD6l94AEV1ZyYp73AZFveqvHHzs+AL2diNPxz1wvPaKZ/xM2rA9Mm5mQCy9LJVd287OBPbLoaMeFthRh7tQg7SDSoavr7lkmWKTDCd2NgH/BUkASZxaEGFR+MC7LVFKsO7rrfkUbgWVsZzjK7gFhxgAO7zlsRvjEQc67A+z2i8A4KXi4LcnVu/JF9;
 24:EivGRdAYke0ASLU5FtFCpzGQmk0F41Cl8wSB1VBRMEDAw1yDxW2/DL0e7YIx/5nC84tqfBMW4qjK18rlamRUgkrz/0QmRG896d43xmx+rPI=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714;
 7:OMsg52fUXqE/s0hcjOuLFSw9TU3M/uppdVnkdGvTpUSYiBC/t7EV2Kb+Plwa0cC7NWqa61OxwsrLwFmQz/f9cRdpM/vm3b4jBs1lJkyISacnTxnDaaz/iXO+9YMKnFoO4Xpt7DdUsWScRe9igi2i86YdX1YJl1l+KZF26SKP9wj19Dy+28C8+OQh9Kb6d5yVfYCU8Yqq6I/PCTQV8CnbTaEMJ6i45T3Q0GiGRRToaNUgSeLFy1NhGhrVTuJpaVNmHHDl80DFYgS/zlypJLlnP2f8Ma9rBpLy82p42qdO7my5Hz0uKNM28KFzTEI1zxjgs3NxazWyxBe7uZ0VZcwhoFKlL8ZP0l0SVmNx79Re+rXRQdakF4vBckfS+J0co+a8DCkHi7zBvCXbwaF7VUSOQHg4ckwZ8q2W3Ni+/yHEy8wpGLJloU8GcSABxkaTn1JUe6IrgonlMMoBBoenwH7qmnCRm83r9xcPsWyOIg7n5PZ34rdSD5vjyJbD107drLiP+pDkgaaG2/Dw8IceB4hqRsX4oBBsLnOSjYGBQvCjDl9aTZpehK4i/33hWABJwAn23ltZYqpLtgA5byKVUuVl8qFu0BMKoXY06/Yh3sP5eVxq8SjCO/u5TvTyQnEHgQ9SlK2aghQu4RV0Pu8d95d79Oj3RtYAt0Pth6cEVB55KXoiR57z1NMp8gc5ic2V4Y6BSHI/5Ev+75jB9SmhoFkMTkUci6LLA79nXX9Q5gxzbMJnpZfbz9VjhicSKWBt+NkVFzPjCoSfErfBPfiVC/2CgPoP1bXZkoDu+aGhRwlz+14=
X-OriginatorOrg: caviumnetworks.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2017 14:20:35.0587 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1714
Subject: [dpdk-dev] [PATCH 2/5] eventdev: introduce specialized enqueue new
	op variant
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Jun 2017 14:20:41 -0000

Introducing the rte_event_enqueue_new_burst() for enabling the
PMD, an optimization opportunity to optimize if all the events in
the enqueue burst has the op type of RTE_EVENT_OP_NEW.

If a PMD does not have any optimization opportunity
for this operation then the PMD can choose the generic enqueue
burst PMD callback as the fallback.

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
This patch is based on the following dicussion on ml
http://dpdk.org/ml/archives/dev/2017-June/068859.html
---
 drivers/event/octeontx/ssovf_evdev.c |  1 +
 drivers/event/sw/sw_evdev.c          |  1 +
 lib/librte_eventdev/rte_eventdev.h   | 51 ++++++++++++++++++++++++++++++++++++
 3 files changed, 53 insertions(+)

diff --git a/drivers/event/octeontx/ssovf_evdev.c b/drivers/event/octeontx/ssovf_evdev.c
index 8dc7b2ef8..0d0c6a186 100644
--- a/drivers/event/octeontx/ssovf_evdev.c
+++ b/drivers/event/octeontx/ssovf_evdev.c
@@ -158,6 +158,7 @@ ssovf_fastpath_fns_set(struct rte_eventdev *dev)
 	dev->schedule      = NULL;
 	dev->enqueue       = ssows_enq;
 	dev->enqueue_burst = ssows_enq_burst;
+	dev->enqueue_new_burst = ssows_enq_burst;
 	dev->dequeue       = ssows_deq;
 	dev->dequeue_burst = ssows_deq_burst;
 
diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
index fe2a61e2f..951ad1b33 100644
--- a/drivers/event/sw/sw_evdev.c
+++ b/drivers/event/sw/sw_evdev.c
@@ -796,6 +796,7 @@ sw_probe(struct rte_vdev_device *vdev)
 	dev->dev_ops = &evdev_sw_ops;
 	dev->enqueue = sw_event_enqueue;
 	dev->enqueue_burst = sw_event_enqueue_burst;
+	dev->enqueue_new_burst = sw_event_enqueue_burst;
 	dev->dequeue = sw_event_dequeue;
 	dev->dequeue_burst = sw_event_dequeue_burst;
 	dev->schedule = sw_event_schedule;
diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte_eventdev.h
index c4d623a62..132f75fda 100644
--- a/lib/librte_eventdev/rte_eventdev.h
+++ b/lib/librte_eventdev/rte_eventdev.h
@@ -1065,6 +1065,8 @@ struct rte_eventdev {
 	/**< Pointer to PMD enqueue function. */
 	event_enqueue_burst_t enqueue_burst;
 	/**< Pointer to PMD enqueue burst function. */
+	event_enqueue_burst_t enqueue_new_burst;
+	/**< Pointer to PMD enqueue burst function(op new variant) */
 	event_dequeue_t dequeue;
 	/**< Pointer to PMD dequeue function. */
 	event_dequeue_burst_t dequeue_burst;
@@ -1181,6 +1183,55 @@ rte_event_enqueue_burst(uint8_t dev_id, uint8_t port_id,
 }
 
 /**
+ * Enqueue a burst of events objects of operation type *RTE_EVENT_OP_NEW* on
+ * an event device designated by its *dev_id* through the event port specified
+ * by *port_id*.
+ *
+ * Provides the same functionality as rte_event_enqueue_burst(), expect that
+ * application can use this API when the all objects in the burst contains
+ * the enqueue operation of the type *RTE_EVENT_OP_NEW*. This specialized
+ * function can provide the additional hint to the PMD and optimize if possible.
+ *
+ * The rte_event_enqueue_new_burst() result is undefined if the enqueue burst
+ * has event object of operation type != RTE_EVENT_OP_NEW.
+ *
+ * @param dev_id
+ *   The identifier of the device.
+ * @param port_id
+ *   The identifier of the event port.
+ * @param ev
+ *   Points to an array of *nb_events* objects of type *rte_event* structure
+ *   which contain the event object enqueue operations to be processed.
+ * @param nb_events
+ *   The number of event objects to enqueue, typically number of
+ *   rte_event_port_enqueue_depth() available for this port.
+ *
+ * @return
+ *   The number of event objects actually enqueued on the event device. The
+ *   return value can be less than the value of the *nb_events* parameter when
+ *   the event devices queue is full or if invalid parameters are specified in a
+ *   *rte_event*. If the return value is less than *nb_events*, the remaining
+ *   events at the end of ev[] are not consumed and the caller has to take care
+ *   of them, and rte_errno is set accordingly. Possible errno values include:
+ *   - -EINVAL  The port ID is invalid, device ID is invalid, an event's queue
+ *              ID is invalid, or an event's sched type doesn't match the
+ *              capabilities of the destination queue.
+ *   - -ENOSPC  The event port was backpressured and unable to enqueue
+ *              one or more events. This error code is only applicable to
+ *              closed systems.
+ * @see rte_event_port_enqueue_depth() rte_event_enqueue_burst()
+ */
+static inline uint16_t
+rte_event_enqueue_new_burst(uint8_t dev_id, uint8_t port_id,
+			const struct rte_event ev[], uint16_t nb_events)
+{
+	const struct rte_eventdev *dev = &rte_eventdevs[dev_id];
+
+	return __rte_event_enqueue_burst(dev_id, port_id, ev, nb_events,
+			dev->enqueue_new_burst);
+}
+
+/**
  * Converts nanoseconds to *timeout_ticks* value for rte_event_dequeue_burst()
  *
  * If the device is configured with RTE_EVENT_DEV_CFG_PER_DEQUEUE_TIMEOUT flag
-- 
2.13.2