From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0054.outbound.protection.outlook.com [104.47.32.54]) by dpdk.org (Postfix) with ESMTP id 33E7537A0 for ; Thu, 29 Jun 2017 16:20:44 +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=8LkYrKHgQ2jSmLaSWOAiU+Dxr/Z5y8u5B0Fv1xE4EGw=; b=GzrlWbC/C5EfDJt18bPRD9hhkzSjLkWDbxa9+DJMBGP+GcoX5xZhTFHoiHWCKw9UcsC4qANOgiI+iQnbl75CBLfC2Hga9Aj998I3fua/ljOEYwyGU62meeQyz6Imo4JI5lKKeNGbpOTL96MCZDSadKnIfk9nGcx7zx+j0updwPg= 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:38 +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:54 +0530 Message-Id: <20170629141956.23132-3-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: d938a930-b9fb-480e-027b-08d4befa0631 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:WkWRPjsF9CHqQrpJenc3UVV/KMg8iYkRrvAqYZsrbn+26V8nOgQEJt9obaUn8nY0cWdgxm7YaBMFdu14LFD+P1A4WqY15Uk882BmtG01+ghr3/2P81Z9R0NlqCsSolx7O5O2E3TKPKwAMmFbJ37dsezQBDR39/S29Pk3AiMzwDQmZIJ3U6UsCQHE+hNY/HIw2h74twGUp8dwtPgLQ7sRXIHlcvqb0OrYCoF/bYMXVPdpQ2v7R8HCOp1bB/Ga0bUGJKwuKpk2QcomRxG8B0zt8E5ohfwfHCJwmoQIewnqJCCKGl3UOQbXgYo/mGjGVTjZoxTg0hMh3uJi0eW+bOP3MawnIT4e4g7bCWs3GoZ/uElb3J5DsbVOvXWqgzZut5q6PPN+QKEOTgbchg8qUBJcikMvnqLP1uOmvLilY18rrmPJ1Tb1+H+4l0pQ87qhhVkrw4IKuM4fDK86aok7rbtCtKQRj3xpetP5x3xKAM2chdAY2x79GIQ5GJw32XNaSCmXvo0kVCyIsiYYW/xHbEhfKw2bFel0Oz/On038TAei8Zfw50GTRSBARBA1Is+6izi9EN40AcCdvPDWxSITTuzy3aFd73W5x6rJuXdO8avjSEV9GpTFLPfoL5lEM1vdzdXrnULLipZTbGARQldkYuLTu3KXVG5X08GTPSONKacr7gXUGFvqJYIgjlBqen5OccMnlqPeTrOPQEB4bjvzfrL+xUS2ihNow5JDANVSt3LICco= X-MS-TrafficTypeDiagnostic: BLUPR0701MB1714: X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 25:3bXbYm5j9rrQRItUd9RJBtR6JUm6N9ZrWuCsjPa/XUbo8C3trJZz+ts8fbrwTl4ueHxhKklmOkVkJ3M+PdVB/tWtrEsjVFV2eNSYrh2+pMIMRZwdChnvuuhKmVPxYORG/BnZeORDyN7VhPm1NOy/dBB1kMBp5q5lzrhwiYpnHltGCS08dCVhMpWN1XpyuMHBjN4wPouoFMYahvbuFnNIDycp3SywjB9pPMOt16iIuyLgzMSroEHewi9EPUA4XeqCqaD6HI7aTg1LmB5qdqw+pLdBzWieDRj37WWWUUZasdOKW1yIAZXhHyfLsnvSRgvZK9FSo2olnt2dqpPi7iMOVZUy5hRzvZIt2uk5o144QTE8usA3i09nUIBVbgbVnRFKRdHOy7920umA3I9RL+z96B2gm0GAVrWJq74bA8OMHxdBvfxKlSMZm7x4CFl/rsnOrHYb8Pdf8Yn1RRDSIbQMs78BYtNorznx+I64g2zIStfh35HsbsFYBCnLBUZyQy7Kna36XXytv2d8f0kvtLhdJajuISSFj6XVfh5jgMBOKEzC73rHzQg5Xpj5SGmIh8qQXQ6U7VvGI1gB9q/dClNxI9+GT/q3wXy3lF4SM2EMShIUejRTdNC/tn4U7jyaR0c/cqBsSjOJnfw62fNigTi0Qh9QC/heFUR3eDUYkXiDK9F/DP/+zvjySz4pbU60p3kwBUixhnYzCxwFhKZGgo7BI8/ZcHpn2cFIodnLAiIYy0A/P/p3nDnuAo4ddUR1qkxMk7WA5itBZgvIpwJPBmP+6Zzyiio4w/W1abm+iuh6piHTirvzg1hiokaSWCfrIjQ8nHXrWaH70lbrKtPQuWzuN2cV8S4SBvkVAKPn6NjiY2v8gm3l1fqkK6+sCZV8g6OkPY0Eeba6hFVoidgbSeRbCnSAfJXHg4rtFBhjmnomoVA= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 31:7ndkUo5W4oVEyfDhwHAB/0vmakRO9jdYu7c4E/84fY3oEY+qgQguTOz5DKyjgp4pdBUuRF+CuerWu055owexGcluMAjAKiWBCe0JNBuenAc0sVAyW3+iTZYSUPBF68wo1xIZho680Lb9bSQX1+TTL2cyhKDF7BnG+jqvn4YGym6XxdY4RxdC1ZkGRXtkdoWbX483SMzgercYgbDvri3Mnuuw1S2fuJ8XhHbq8cT534h9f8MiT4qcdjxQglEM9gZOXFJcVO7LkO4pn049i4EsFTFvTBhM788kXmr5nD9Ig3GPBrrylncq4lBjX2vE+TyvN7bNQobBgU3pdy/4BDDTr8jVbi+bueObc16gyWCchVYragIwDSVy665oApRwAnZpzo/XkEvslCWSaWKCbTmGlLjBNVsjv/D78Cs3wpmBrIg5YAKzwYciBfUQhBUAeG8VhfYNWTXVPt3zUFv38UBRVh9g+MFnt341eI4NnzGz3ThyutbESPRimyZkKYukMM5dgTAF5a6E8HfipQDJuGlRtFOro+tKUdwN8xWseCLthPYjq0dzs5XNXynCn+iFjlsrr1u0ZXHukkmQYJnMOTj/5Zm9oyfjAOmPCL5wLQ3KCV6t+X7gvPNT5bvvrJfadj3zNphXzepOgR7LkmnySppqUTx0upVfNHrozLy1+8nKvnw= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 20:S8+E1NXPo5pFhexbnQEUvZnHWcl8IW4v2uSa/SR98+8bXzSLQ1Upx0nGPgEBhPHjBE0xLPV0XimWK2b24sbBcRWNA3cEzOT/p2KrbtMJ3ClctL6CNE9ZZ0ZY2cE4R9Pob7pgHkKmHsTXXmyfNUhd5XDEP5VC3uzQPQvsW2mpMsyKHWSmr6fgmiowLeJfKyR9S/uKwuoQBtHbgZB9TZ5Ps/LlZXpouYWT4HrSbvv2mLTwZ4628/ANtt4P6HVnKwk4VRf4edpsJbOd9jrzJyRUhL939PpzcA/V142+YWuZ1tGm2/2J2Xcdxh3Yt138h6eQOejTlVgjgcExULuxQbtS9pNjKcfS1VKA6CzD8U6ILDX1J3uyWr7G1Bz+V1zsr7/urboyNBdY0tuSW4nwTYTUA4VG+6mUe/wXKspG5yDLq/kNkQHAPC67CsnYbiBuAptCFTmMAalgUqq/oBh7ZjRrWwVRL+gB4Ww4tLYSybryEekfvdTX1eOyiGSJFLW12kZR0OXdgOpxoj1vrtFnYWxBWZCJ9IlT/Gd6twXsPGIWd5h3gC3VFZlAscXc9i/QEyLxvKeMoCKOCRoDRKtaKCrPgbVgMAjzFPiCoJKAm2PfDXo= 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:hqtQ6EIlMjR1tOGq75+dyrqa2wCPpJK9xRRbIu6c?= =?us-ascii?Q?q4f/IkwSk754rhKWx9806qYBTaK2hKNxLCVXpVob74c7pwshUYJCkPz9R3Nh?= =?us-ascii?Q?gxjoYN9+/EVboceQjmmnPhPL7E33ilzSl4+1Pc3DwYtFkOyEyCKcho0u2JGw?= =?us-ascii?Q?AOV980inNicQfkJA2FKCdJLbQLSGULWpl5bzYpx2olCdRntKr0+x44uR8Ksd?= =?us-ascii?Q?94AB8P/WcYXcq6g0tCu5D0ns+PsmR34QhHJUyQQjtyHKj72gYdcQf8+RQo28?= =?us-ascii?Q?z91KS2DB5RJ7C+WFU+t5T1EDayMJZicINtR+V5zhr5gqwMcq4B+JhOEGNox7?= =?us-ascii?Q?067uF9qurgtjZo5WD9TFd0E1TupJq9f2mFkMomVcVeJZdVPDmqb3+F9TOCKf?= =?us-ascii?Q?7tUFPtBA9J+xCwdux0lUwAweFlOuSaDNofQxwG6SGVSFLz7V8zkLkmrecO6t?= =?us-ascii?Q?NTM1kIeSwIwDm1hkP4a+c75ZUS1CEsLDzDvMCeXDVdkoVnw9teCsRs6XcBja?= =?us-ascii?Q?UQnTa2Zm9Sa3lYs1mLXNXr8ode9kIjTun2UE5FG4qbFT1xDwFqLRmtiLxrDU?= =?us-ascii?Q?F1QDV73vrtPSnDzzGdKS5RPUmr13eFWrORjs77HBxzCEnyrDvUsA1UsjVrfP?= =?us-ascii?Q?46TnyvyXb4debXp/+EXKVwrB1iGbeUq46cLfXPdqS9X79/Q8utmDSuvDIgrG?= =?us-ascii?Q?bwXMeLEONUAvG5u9uB30s/kRBTLus9ILfQv/+5/vjqZ0vBPrZhfaDKmbZrMO?= =?us-ascii?Q?G/h09Q5HR1WetYUw8XWc6qV3H0dG1eUzr4PNjiGSprgn9kIGRdnSPt+WIK2A?= =?us-ascii?Q?rV81HZRumxYG0Mp8A0wn9pYGfSPeqn1VNWcF59f0+R3hOrEDzhudk2S1g02z?= =?us-ascii?Q?dt5R/YQR8sB/0P0w8Y7sK7G15GxrkHYCwBXTkIHeJwV57RGDidsLCHcuO9KA?= =?us-ascii?Q?Xw3M1ZrWKGE1mISDnlKw92xhRYQ76B4lqW1DQ+31WCMsWFLdp+wPXLVF3PfF?= =?us-ascii?Q?GEr5vdIt6keYNgKVxmx0pzhxjDFT2Z356MfcA+NXvEHMJiHYmqdE1bAnGt5V?= =?us-ascii?Q?EutmerPSy14uCk/U10s5KBmAeP3Oic0IlEZioxOantVym54tJU4+9k13yoqg?= =?us-ascii?Q?8lkUVjtXsaB5+pP9Bq/N19zJcNDD9sIhY3il0cyH7OQRwi+jfJXfy6tFd4U3?= =?us-ascii?Q?rbJ9VinYJme4fPMgXu+B8XNx8KAXLlepo9zxOA9JrkcX3wJ2lpU+oh9hjkiW?= =?us-ascii?Q?RrTq46gYmKfn7W2k3H0=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:/T0UF5glckkmDBRmI8fs05uwcytOAVTrQQhYaBO?= =?us-ascii?Q?9LF4zxxz0zSLSbR72par77+7+Rwgpc0Zhogd6SLMnemyQznllkK9mzj115Iz?= =?us-ascii?Q?J9AedZ5I6mDM7eRLa08XKc7nkTKiWJLIjIbnBIUWhUzSQczddraggK21y0w/?= =?us-ascii?Q?+RqnrgR05iAv7RQGm9Md0bccd+8O4pRl6geeMFWbOyPYxzXxZYbdUCmZD/Ut?= =?us-ascii?Q?2hMoHi66UDzd/kXY4PewJt8uwAhBrymeODXMTDUZzNwiTd3fOUcB59vz+TEL?= =?us-ascii?Q?syhotTeNd7Q9dpAPXSnAX/K+hqCJsfTgfkTg+9lnmqvxT1Op2A0k4FEDhvXy?= =?us-ascii?Q?kP/vF6MkXQ0F9EBHkpL4nMveC/n+aGN/UhJuZVvj36NQQRyrgBg4XeI84N+5?= =?us-ascii?Q?zs5RdfvDfQLvEjPIFoqTLxf6PYCjHglm/RY0Kq8puHT6iSV7GCAbgj7iSX5v?= =?us-ascii?Q?DJ8rh7uY8IgSXoCGAZNkmbL5rqfvKaaRnOTtCsdyqgAjRUlgRV7MBNL69L8C?= =?us-ascii?Q?hudZJgj+aZdNRQEfVSDMd+AicIH5PJb6zAO8qRI/RkX2IWGLJm7vmkFWPpFx?= =?us-ascii?Q?QHbBLkotUMEmG7H4GgaTPwBC70XeNYwVuAelescpNfM8MsZrqa7wgeRcHZ2E?= =?us-ascii?Q?0jOZI/Ea2tMOtRN36LL2Fl3RPFQilihB+ddSwMGY6yWi/FkLWnS5NvxyTa/o?= =?us-ascii?Q?NynqGz/zlfHntmRA+v/czU++OMayGfFaGCTRMiReRXzEzlgeyrbvmqlPxQVG?= =?us-ascii?Q?98xDsk7a7XO4+6WZV3vSR8NrKJ6b284cOLtv1J/Q3hNwwJFoa1B7XIYyHPIG?= =?us-ascii?Q?NPsdlhzERdgz6W/05e80cEf0cQNHKyh9wMOGxz+DmvMGQwp6ecjpnmbUlCfF?= =?us-ascii?Q?wleWl+C5r+lk1+va8oLpDva4tWq9zZfKr2Z4psvGTKIQOltAqM1Z1h7bjhhM?= =?us-ascii?Q?J/m5TOsonmpjTu20FI27xmPLcnWhT2fw3e/E8bEFfPNMog1omxrLzULwOonY?= =?us-ascii?Q?ErkEdxidpDk5PD1hJvyhqXpqgMsf1BKR23jxGt58DZbSKpJkmBYUzV729o5X?= =?us-ascii?Q?GB7WmXYtAU5T4d44/NxcZoChJDWZgETLAhpWbOp4vYDfeSmVHpaRQNH3fLo0?= =?us-ascii?Q?L7Spm80kTL0dguh1Ddd1SiykWFF+0weDu7cepQtdvmNNRqi8AAYPyfozBl/H?= =?us-ascii?Q?eg8rY7N5eXvFHkPl4VYw8hip9LBxlfPvxDx60AGEbd3gz3c6pDK/zlYq31C2?= =?us-ascii?Q?9syQFlh80ge9BWSV/YqXZe5c0RrtKbCjiKk6McE03?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1714; 6:PI+VOcXnHmqxrxKCqf1rh3dLypW5Kbf1LdKFnRgg?= =?us-ascii?Q?Jd2Mtqc1XjMorxnRd+sWSL7fQz5EXLIL5KLnFyPm3V/c2ODiw7r8dw2k7amu?= =?us-ascii?Q?knJTwJl054GRV1ldbM/XDwsaURqxUCKHsj4huCFLZSyY+w9YBdXVmwOejHo2?= =?us-ascii?Q?DtmMJTVGlCNr38IPJl6bpKR0HHbZ9ZLbD0bGc/5S+gJbCEW+ghgt6vA6/3Ee?= =?us-ascii?Q?Wh2Rus7YrIwi9sQjM7jsWMWNI122FO60ci9WU+nK+Qq9b+kaFaniUV8vhglw?= =?us-ascii?Q?PHv9hkZXKV6ZiQgwNHWnHFf1QThrKQqGfiBYwjs7GcsuYouV/oD1rsION7WK?= =?us-ascii?Q?Tf1bFl9xYlrrioC6ZzB/RUiia/T0969uweStaoN38r8fsSDF+oOLrZCFTEba?= =?us-ascii?Q?dSwxg2AqMcvaT094ly4RE4SnCgUFkFf/UB6xOWsPKQ5pDqAO8e0yzwb4+4tH?= =?us-ascii?Q?cUzA7QBIVvR2Pmw/eh67f3bxt7vlGsdi48zNRQnPnd/GIVJvGwkvn6hGtmvt?= =?us-ascii?Q?WEPgWIyB98KxkNK3KC7FETdUN62GiEl3d909rKGWYiKUt5Ruem5AYunFzy4c?= =?us-ascii?Q?GBsYCYsbTrdgJaTXRQVwQ3Ee4cVd/bkpFCYKiNT0nGhIFuG6JUsduYJXU8L2?= =?us-ascii?Q?k5A3QNbesQL+Z+BtjdlXOEDUSGztVcaIfZkfuMWLMEqtXXxj1OgR9nmOT15K?= =?us-ascii?Q?JW/bELIloZcmsP1dnkkpBSsdhoeGQqaG8KjANmzsudlWD+UyUh2ZFK39G5uQ?= =?us-ascii?Q?3R1AX5lDy5di4GjnPTBByE9haE4hLPoLXUB1cPTrhoZK6H8yAXZgQPV33KtZ?= =?us-ascii?Q?jSeGITjOacH1P5d/v7EtDcbEZ5cHQnbPqvImfWqZxpAOPwowjq4LomxBbYpv?= =?us-ascii?Q?NqPOZi4kSenTk5gSne3FTaAM0ZCmqHsL6vlrY1JLJaWBWsmGJryn3QpsGizW?= =?us-ascii?Q?OgQx04QcRLldJwXF/rTd+jmG+g6pziatqRDOQUNZhGobxDrN29eUw7KqC01j?= =?us-ascii?Q?HA4=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 5:xrCXoKXwo5kXaLRP8w/TsQvz/bvEa+cfQgkZvNaYXhqUXxSTwSeMy7dpnPfE5+a3UmjUG66rTMGS2C4llqmlmO7PZM5ras2JoLek/bgejIVH/dBZFHF94NQjapMR/3vXOWPMefliOmCNKe8B00IxJG69PKjEUEjPuqx2sPePKl9BVK59KjKOBmJN4sBsMgPvqua61oa+RSkkjWjY75aqDayf/1DAk7pQxmWn5VjbS8uIPKAd7hG1lIM7+jRguXqX4PSCw2EFTlfKPoGhvFG5fYxqmgajMqm5SlbHqe/pcMnXvA2edIZC989cgHQjg6lIDofE/34UK+Oz4fpwnQaVXSiJSSYYSojwHlOWZe8sf6phPvxo5QW4SmnO9noSpMS2z9q1TKryImHDsGKY3C3DZQQEtUX9YXGJoye4KaD4sZM+ejxc7NUze0KlBBvv8u5m0X3TEtCH2HvWPz6Ci35/iTkSdeHD9TfW/Ww9c7JHPL6JwemYN6pj6H+k6HG4CNSi; 24:xz1edC7uNOkl8tvty5H2Q8H/RWFIkapt21vlQUp1Yph1CxSoXI4z9F4ZM8RSHJKeMsr0VTEFtbnz8zqYEaxIVcTSyg2OnUNjwHm+C4QaYHA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 7:RpQpnt8wOyhDCWITla3je/l+QPedm0Ah4PwcMi1MGJPCqJAC7xmAHvCLACCQ+To3c7VoRTuSIgbxZSaYShMarfbfSF3dO9p9b5SjTKjWsXdHYdT6/qcuDAU5DEfMKLxd8phyUQ35YYjnd1I7/ZqUHqN29irz2vKURZEld6uox0eOooqhwReaLmtvpuuZDPPbyDHwpQgBk4FWPMMQgFW4cZPxONnhdE0uthzoc6vOGs7rWJ/IZTGsAOrHXmaSblHg9ZLeE4UlB49DmnW8uoHIqmHYIhdlcsVg37HawbSwl5hG2lU30ap6RzdWI8E0jVVutfScqtM4tuNmXfrUtO1IlCHOMKE1Hk/8BebLYgeU19K+1G+nmAAbXDRVM0l5VEXP69iVcdV2kam7mljgzZlfUTe1vwyFUxs9o2X1U8NGEuaFHG09w/I0KyMro5dYkzvWqC1sSvyGfPKYv0bcJqG+JwRKS+X525hq16epdLffavotYlvD8KkGCAqFLBbmH4XMQVM1+qknxfedQvdojJUn32pYzVANKjRmio2UVEsTspPkHOK5xnEtnFvZrnuqolxZqaRBQUso/lgyhUKC8h+If+JBXDTi0FfmNBrBL/lCJ1n+DG9C0bRkrDFiMrJkJ1yxM/SQiRcCknXwRonZr0QbmIS4Lwd1PWi0Rsv5tlDUXMS11icMOzLNfjRhnEz4ETI6Tv/Yi1h7S/jo1J5b7KIGLRS3YtOQiKb1sxcuv8P93ak1yaq6VpLPpqw+CrSFV77FLgskeMGmqrDvdfn2RqHCEUiawgNuSYzaQHMDk8lSXbs= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2017 14:20:38.8088 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1714 Subject: [dpdk-dev] [PATCH 3/5] eventdev: introduce specialized enqueue forward 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:45 -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_FORWARD. 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 0d0c6a186..5f97beeac 100644 --- a/drivers/event/octeontx/ssovf_evdev.c +++ b/drivers/event/octeontx/ssovf_evdev.c @@ -159,6 +159,7 @@ ssovf_fastpath_fns_set(struct rte_eventdev *dev) dev->enqueue = ssows_enq; dev->enqueue_burst = ssows_enq_burst; dev->enqueue_new_burst = ssows_enq_burst; + dev->enqueue_forward_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 951ad1b33..2b0b4fafa 100644 --- a/drivers/event/sw/sw_evdev.c +++ b/drivers/event/sw/sw_evdev.c @@ -797,6 +797,7 @@ sw_probe(struct rte_vdev_device *vdev) dev->enqueue = sw_event_enqueue; dev->enqueue_burst = sw_event_enqueue_burst; dev->enqueue_new_burst = sw_event_enqueue_burst; + dev->enqueue_forward_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 132f75fda..29d707f9d 100644 --- a/lib/librte_eventdev/rte_eventdev.h +++ b/lib/librte_eventdev/rte_eventdev.h @@ -1067,6 +1067,8 @@ struct rte_eventdev { /**< Pointer to PMD enqueue burst function. */ event_enqueue_burst_t enqueue_new_burst; /**< Pointer to PMD enqueue burst function(op new variant) */ + event_enqueue_burst_t enqueue_forward_burst; + /**< Pointer to PMD enqueue burst function(op forward variant) */ event_dequeue_t dequeue; /**< Pointer to PMD dequeue function. */ event_dequeue_burst_t dequeue_burst; @@ -1232,6 +1234,55 @@ rte_event_enqueue_new_burst(uint8_t dev_id, uint8_t port_id, } /** + * Enqueue a burst of events objects of operation type *RTE_EVENT_OP_FORWARD* + * 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_FORWARD*. 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_FORWARD. + * + * @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_forward_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_forward_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