From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 ; 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 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 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: 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 --- 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