From patchwork Thu Jul 20 13:47:58 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Santosh Shukla X-Patchwork-Id: 27086 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id BD5DD7CB0; Thu, 20 Jul 2017 15:49:22 +0200 (CEST) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0084.outbound.protection.outlook.com [104.47.36.84]) by dpdk.org (Postfix) with ESMTP id 68724201 for ; Thu, 20 Jul 2017 15:49:11 +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=VJz/ACk9zWZwFjssmH7xMSqDEofQ0h+xEA+uIlwex7g=; b=APzvG1kQD/ssMAhOOJsZ9yb1bEI9sTg+Z8S+lqAEZBJbZw+XqKCa+gyBsiVvkVIGDe8xY5j7l9mj5bB4dee0tlnUzvyYjJdcr6hYLN06Omv0VWgaISgDgas52tmrmPCzybDCNbnTvrF2v21LwpNPzLyugVAFCLhi1MMqtta5n1c= Authentication-Results: monjalon.net; dkim=none (message not signed) header.d=none;monjalon.net; dmarc=none action=none header.from=caviumnetworks.com; Received: from localhost.localdomain (14.140.2.178) by CY4PR07MB3095.namprd07.prod.outlook.com (10.172.115.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1261.13; Thu, 20 Jul 2017 13:49:07 +0000 From: Santosh Shukla To: thomas@monjalon.net, dev@dpdk.org, olivier.matz@6wind.com Cc: jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com, Santosh Shukla Date: Thu, 20 Jul 2017 19:17:58 +0530 Message-Id: <20170720134759.4680-6-santosh.shukla@caviumnetworks.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170720134759.4680-1-santosh.shukla@caviumnetworks.com> References: <20170713093255.13986-1-santosh.shukla@caviumnetworks.com> <20170720134759.4680-1-santosh.shukla@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [14.140.2.178] X-ClientProxiedBy: MA1PR01CA0115.INDPRD01.PROD.OUTLOOK.COM (10.174.56.159) To CY4PR07MB3095.namprd07.prod.outlook.com (10.172.115.9) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 20acf280-7634-47ed-ab88-08d4cf76192e 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:CY4PR07MB3095; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 3:Z9BGXpNJFHgMRvpjJBvS6FkVo3j1ORdk23rcmuRN1JgQ0kFuCUar+x5icqrdgE5IagFTXu60fZJJQ+AYbDwixf1sjwa1YL/iHXugSG57naqDqzXx7csrta1hi5mFkJb6fs9j5TOR6PcGry+Vznk1EHdYGuNhmEXTFLZMHUYlRLxGh3vBWhERcajqcL6c0jNz/zMVNxdu4NOZPQVzgDKkMwHzqZPIy+k/9zhXiBc1xKsvCKvo+V4o743nEnm/hcQ8A6v5f+e7eopefHOm8hHc3ZWR/mXlvBoRIdiBINdwjc5iWsHf9HJJnzGYodIENvzQgTvxjFV2mHLAo0RlTk55Y1vr/iqCfND98J5ZPGWANiWFlxb1vZRC3PGC7GeuFff8en1vEJYYpdsONC5DLn+0Mbb2fUBdWJftq/4ALM1ImsODGL1UKiEcZ+kYPFIOLIsLMxb71a2gLoW1dKj2CaPQH3cQ+kTINwcp1zEZyBqR+JdAqwTN7LVNLZyg/myTr5LVS+qp0mhS6WF42mvqDW6H1qsxaQFs4HqolOQthQexV6rUizFo0bMisaYR4KAUVSyOxHwC9856QHowdWcQgxfrtmC2cdJKNEpWTSybHvTvSfUpxrXArGgnUb813n1zD35l1c7/JWeIOW8PO/cRzhvpgV5To5o96G7BkuLUyPw8g1eBI6cI0g9Egmi40ljqtI9LyflkkurshCyH3hlTnnydlJrIHbJErNRoASPN+1uV1pc= X-MS-TrafficTypeDiagnostic: CY4PR07MB3095: X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 25:T8xTjqZ1DPhHrAN86RVHqSa0OV4TlhbMRCmYSlnp3AvGWo8UgNfnHiItt4YiheS5eSRBzu5R77GvlIZTDfcgjmoQqnqOEz1EdRvKpeO9bs48p46Cj0z4CtsvAWzlFGnP92hx5ibLOSHLSekYZOzfvTMUcQj5oxpL1VHke5wVH6nJqo0OkochI4gH3kbVEEaU5lER0EFsRsz5KhQcc6auJQ5OndY6o6WnDOLXkcbakYLL9aOgaKtC+IzYAWSVcSGrniFYzNZmGoFV3yUliX5HORc1MDNkzE4YJuGOe9O9l8kFt8Pb3Hb1R9DTw7xIQWPM5dFW3aN/m9sM2QGivCmbkf/IZmM1d2S/n7YrKpeiQKfk2pq8j8Hm1804A3uG+GdMpQhNl44t6OpxPrN5dmSvx0YBfEWe4Ae/AgnA2eNET+RX+5BudLUnYtJPcbpzgPl3VQiy5CoQLNgM/OTAPD940r0LD7NZY9wgpGEDfdGdADqipBEzdkqxSzor04IPxL0rWW/QUlEXRrthwc8sK4pa2e8PEk9YGGm2DsHIUD0oB8o4szHU74q0plurTCGleDw1VSTz3GblKrwGcoyRFcwD7LeYi39NpL+haxpuAnescAZ9tM20/Eh5RY+Mn4peiVLbZatgZm5rlJxJPlW9sosgVpnIwl0BtOpsM7QFU4aT0S/bwST8SULj6K8CEdIsZXCTDMeVe8IptLllS7Re6mnC34SU2OiG0g0V8kDLDebyay2C9kCxgjMmxLHop5+kfRa8L3opmVzHP/zDiINmmw0c8u+cGkJg4eThrX+y+CMIPHvEVDtrfk+qHrdob4Tu6kdj/hZvMawWUIQ4zjjojKDjYtXEP9Lltk3no+czjNEbkpo68BKyON0vN9Fyy6QwtaSS160si1i7xribO0pBWqOD7mwQ4thkqLU6Y0DE3gjse3U= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 31:A1iojGEUGjv1jWW6LsxkgpY8VAG5Z7enaX58AF3MPDkfMXID4abQREzeeIAo4Vcmby0q5QsK98WRItbStEsXkDBv/hjXBnXeuMQZ9vNAXNMKaqE8B3WniXDcXCmEoDYZQqL6chE6KMPvSIiF/TLjKcQ4sVCyhxEzHEbgNcw5SYPoH+OxGa3q/d957zsTwq4dGPlGhHe9a4/m4EfRFa5HNvE5qb5F9RC/ao8fFLV3rL/GBv2Qj3zfD1F9YlzIgyy4oz1rJgJWSq8JDzpvTkJBNV22QsHf2p2mHeNKjyOQxeTFkjLwm6SiQ8/P6nxg1CplCRCYpokkhczpwUspmGcDMflpf5vdS35bWFW/6b90jLuYgYJLnDeZ3189yFt4sHcZso9mFdT2da2YJ5mYs9u9sJtzfGhzru0W0ZfudczCSFqEIB+tsEJf2DrGdTPrpFFkx8rhk0NlgVcK7v5PjOyhqIjiwiLn4QT4px5ydlnQD3PzhrwMKD4ipphsySjOiNMFxCaKPVx7aXA/L8niLxJKDiLlorawOQ2Yx+U9d7v3AhgUhO5CKA78+c/ok8Gjg02AAeunNprqNNoaOdzrrGPQMZ3PlSgHhw8QlrsJ4dpI8TN8M/ZRDV6lfx21zII/3GC0co0dAACnVqDWQ+BK95GLCX7GfNilFPPVyAuQXSYAJT4= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 20:nESzrszBCGpdJrTrKn3QpN3M8vodV4jQ4w0O4fn5if5jlhYbSMu3Pardt/YYsiHHhSjnzsv9aW23mDf95Ok89IFsTF0Lb4oFFmmuXUXvBT0owJqNiPfuG4HXPQATpXQVbkEqfyyRBVCwfJ/RPZA0T8Hl7kQ6PHZvARoMVURoN5xGRC/cazk+TG1piG3noABXY2XXRouFk1BnjsCaCuKGJDe27EskA+bJu7ClTgusw4OFBsTcGBVGw/6pgu4MMxhejyRlAXmGDdvmRdpG6hAbyjr3dj1BCX5nKEJkucAJwmm/HZYqdJ2Tzuq3sgm1WtWCk0DLKsreEMX5KSZiWSeozf6dMmYP+Cp8BHNlqlX0ijzWH5OyJk8NU0g4J1NLTx8DE0bsrHZuHFHxkkyKoBgOFnF5USJ0kppg3Imdf0T7y8ZyU8TJ8M5YEvmsTim0ZM8q9QiE5g6THMByOeSiGmg+uTP/J74VwjgeChdcl6CuST5al4FJEtD+bXCzMjk15T+VwF0XNcIeTeZDW214WoanHJ/15x53RBqYs44M5RbIW35AehopQ68lYuue34nWrsr9pP4wG6h+AlRi6tReoUlaM47w0QSA2Y37yTgNAySWs2Y= X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(247924648384137); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(2017060910075)(93006095)(10201501046)(100000703101)(100105400095)(3002001)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123562025)(20161123560025)(20161123558100)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY4PR07MB3095; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY4PR07MB3095; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3095; 4:rrTbj13VWqlyUgeuQjzoEKFsmeDKFePuidQKDPO8zW?= wW20cNPeYFwXE153hJzNVbxMO2DN1r3Po9z3ym1z+f2a1K4S1noGDj9SVLYz/a2NPqC06k+Qn8dRi9P6t2xQaWGcIHfQOKzeUZsxe/Uj4U0rDRXlx36Q9y7Ne/SqglaHk3ZusgOu9EKMPoeFxx5Lwfjik6TciyQtoIY2cF+YiJxUEOs2Y8QmoKwyfVbRTUWAtCue3I5l7KthU7gJDoopOyzM+e04uUwVcC/pXa8aIXqMDrCTDPGKdA+xG4jsmBcIcMr6hLvvDyADcic0DSz4XAcLAauLz3vXeiQyxfVWW2104x2/u3itEbni684zmzsBwDSj9Kbb1kz6w3KxmeYcYC4E7qqGvNfLQ/O7jpnvRSaQIbBQtV2wYf1KilU64bam59fX43nep//ixpLi4tt5WiEcmjRacBApBu0MtY6+JakY+o4z/nGHdpKumZnkZ9owB9WKPNeeQslWlI1ziTNsFMVZiX/T5fecn1VsgYvXBUZSAqBkq0q+fmyAvfEYUm2IN5TQe3YbgFCIXXVg9Zz+xaJ/4pTdUf6KrWfQnkUu5mAPM+jsG69tJgADS4FUKMeszGCHIUicrdI8PTpFqu/P4a/a44dojJwfNlbvuJOXjYiZkxeZ0VPy+yMgUc3Zwrch6MktFt3RbQ7vuUmbB0gDaWF/OMPxMlQ5lL9AuY4ykovLMWKiRs4rKDMhOijBpV9r60t9mNdE+lLeLp1b+tzGDLE5gM2X7EPQfuUdrS9jEvloCGLHYoEY+HqH9LM/+Dl+cyNKOr8+TcAkgz8n5Hm9523DpJLq1FQMzhSwUNyTB+Pq3SOh+tvbelHPczm62OV7FFXQYHr9mN4xMyZXVdmshyW1oCDC/vnN7kqpafPJ36COprjfoFj+l+HMCgcP77mFyRsGIhqf3A0WRjjBWM2UnyNZJTluyKVoGvo4E1kVd5sHQ0ZHvufCwLo+ilsF/tDCqeCXmapS02Z8CN2z5h+zcIe6RE6+EoJIBbHvM+AVGWaSPkVpYvt6hHTOT4r6ZSQjahTq4oNAxZfIBIcPTPT/7EgadA5uUqvlol/AiHhbOxFOjW70rosHQnk6fqWth47oDePI/K+hrSCwJVzw0raLNJEhypf+LWj+mtFugRrVEgAMZr+h+TT2T9e6EThvRIuBiymmrFnweXHv/5y1YzUfmMcajtzYfXph/blOIJmPzPZw== X-Forefront-PRVS: 0374433C81 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6069001)(6009001)(39400400002)(39450400003)(39850400002)(39840400002)(39410400002)(39860400002)(6116002)(42882006)(72206003)(305945005)(7736002)(48376002)(2950100002)(50466002)(6506006)(5003940100001)(6666003)(7350300001)(47776003)(575784001)(189998001)(478600001)(4326008)(110136004)(6486002)(5009440100003)(25786009)(66066001)(966005)(8656003)(107886003)(38730400002)(53376002)(6306002)(50986999)(76176999)(2906002)(6512007)(81166006)(8676002)(33646002)(1076002)(3846002)(50226002)(53936002)(42186005)(5660300001)(36756003)(110426004); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3095; H:localhost.localdomain; FPR:; SPF:None; MLV:nov; PTR:InfoNoRecords; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3095; 23:hx2BEZoSVcD+vfPGtlfD0rDYvpjOLCdfjPlK0vq6i?= tycroI2Qf5ZI7jtfao0gWa7usUavaVQmn5eqX2h+sKa+ua8rEKXlqSxxQjHm1X11ayAmPXB3splZL3HDO5canMeQzFcjVq2ZOJ9uFQoMao+Zh8nT9o9O8B7gLlsJ2mNsDkeiFHUyrH28rkeQq2Vd1jcy9czO/T//hZdu/BLs0Q11kFhf/oabyoanUFPWsLXiN2ZQdrPp7w+qoDDoCjKuwft7oMVd8nebvx4ef+YQTmnGgOzzRkcPmAo9YdawBPuwPGmsyGCH44bWXG3QCTjDNZFlYcGMzYWOXJfsbpCTT61Gpv6qHjh5Oh7b1xSr/pOnLQYBhHA8WQqcWGCpO+myuxMZVw3qb2eD5OpkL7R9vhtf3MZu1KF5pTJ5Sl4j4mbhKaNFg8t+GVcZ81F17UZYQN7HLWlb1vFIaUI00vDSlzb2BxR5kul74NiKwUvnu+VF0M4GqB2ftClH7VTSQa1wMZHlKgGLEX7Xdc1Pf2GK4XUO2spSkzvS3OootJ71MHUQODHUHD6WiK6Fvr+pQrty0Usrsh2AxEb0zGBmTUAFc1DG4Datp8i5L9VqjySr2ZffR2bJJaJDvQrwzglCdwaDf7x5N8Mg8TklOLnzpC38SnDYZ4D9SlN1vMsx3/I0cgP56LXE9yEy1mb7l6Mz0rSCjY9+0I4l6dAHHktMhReumA8TW2pCNjBn6VSfoh7Zbs4GZmtwO8nIS0Eekd2Hz8E0bD5kZa2Mk/sbF3psccJQaMoH7lTEUpqj/Cv57KtBcTozs4/lvrqlKYVv+yEVF/EeqCDAJyy2A4qNcvxTY9ZVs6z1FHEv90BLhrKyhpxvpw4gcMqwnptykiQ7c/wUsfOtDu7iv2MsGqBg+QJ4I10dfjDUCE64QQ6THHiL7lPrBjpPAeudaDoj30/0I9n1RYWBmrkbMEh9Mqe6AedmChY9EdYKKOQTRcUc350wKOsv/hFhjWEk0VwM4JKxcZ6B9PyL9+3rujUO0xJ8bN7Jn0PFezvFO0Hu8q1cUDDLKdEM86nleFpHXHFoZ2CvJU/B8RfixBOUzwNK8D24uLrZS4r5gOFa3FEbZjdu5KRQQWUfQN93OxyhWo3pzfkbT8eVy9I/mEsxYzenPjFlQy+Rebc+mS8zA8Njg0guZxwCaWgf9beRt8HRKuGm4Zy2oJ4jFAaVMNZtbJA1MSP7ViplNEw0MqTfwPrg3YXbpIujPU+9LsgxZ6WdrbbsXa2jsIiUeFJS5tRzmz8Kbe12NLujJpOf5RBxzF3g7pYLGKNrRqCH/4hDIZZbtv6QCbUDnXSeAwHi3gu X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3095; 6:4P6XjEU45pRvWeB2eU/yL0qhs7Vbx2kcUeDNxY17Fy?= vcNRxdseWVtiFJlJwkx/pzsTbvFVVMUaRltymLfSrBXVqutDtVPxsBKgsEl2W9XwRxH5z1pFAh7anpg7NhPx992CiPDCxOFV6Cbm367+sv8wqUVgQwixI+r0j8FeWtdi3SC2fgK8MfQJW46QvV3cXMXzq26equuH0kKQfhyNwAgXbI9JyFmGv92MrIhaqrCVI3I2GAPquEbUV3pmRsuUo4ArGYbwDKgrqEdxn8R1QpMP3quz+/cpB/2vngmIxYXqo2+Xdo6csEbVOhXfegup7nI+TPlhYv4aW6voj2u17fMQIDPvnRLuYoxCVfpbgp4nhHUS7egWv4pYDNo8iKTFJ6uBqwPL5NRoUc8Y7lHt08HUgQR9TF/U1Nvc4oOe+GsWng37GMMn5Iy3ZeBtvkHBiClZ6QCLjJV/rExyTSJ9BrvUL5GFVfwEvnIni6oIbGUH0kwHetl5hLaYSJrA6J4lHTeiFzHc/5jY/JjWxknLPnxXB4QmJfpEa7lfWSccrHOB/1/xjNbYYr0xeUVFLlJEN1EBy0L3vTpUNZ3tzH1YR9WOOBJRbMMilVXS7MR3sAVpxHw0QxcUzUcg3L7cSUnH8JM2dbf9RmVAgR1yOhS3z/gbQq/JNqolSFUye9tFkJbKoCh0lQ6WACZB0mW70gXN2KXa8h31ywFAhdFBEWP+RLOhwl3IGC5fZyykpnQ4ZBnvnw40xCO8z/Y+7z0PyoVkaEqa0uSJrcwg/ntOOt4mjmZzGTQbSzRFRKsyFp6HtzXq9bkiu9Gp9DypDghoNJ5v3JB5ExWhopxt37/DcEJnB/doEGhRNiqkwBqV3stPQ2x3FSWZB1rLnzuBhXo2MeQa1LrDOqjajIxmOOypkKW+uIl+cbSyOOvKKyul6WwaHDkrySxSbQFe2cauGV4+/LoK4Ocqt7VBUAGWaVsqsMBp4vXzC4g+i9WyG2KvBL0zMnDoo= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 5:P87HvuXjZ9DP/ifTjfi48TLNur5IkNvLUAPWVHvbZZbueSF8cbbpI7YTSAFClrWsnZ17QKLTETCnPbQEdIrM+oA9G+xC+BqLh8yKQ5sGM9HH8uzlWw6qOHWDjlzW+H5GX0gcld5ESW6vaTHGD/D7zDVnFknZPnn7SmbIS/oku98xudPk4PT8Qd2BScl0iEIHsan7NrYVffdZi6udAm4hArJS1AKVD8SUMT2lzxsZKwcK5gnhMUrsrKGbFCfAirDUcU3jjloTsP62Anfe46IZgVQpgdP8lFRkTNPyVYAoYDp1UVwTPxAAg1hsrwCxlOg5mhYjMtAF8LZlcmgzhBHxdk21F97D0fo7KDlF5CWWVGJwhx/2USj89RFO/O5u/ZaWlzGs3XNvL1ADgckzpVjicREPrYLDPaNdWKEiYPDWRCBRS8+1ey3Wwz2zHQcJDkYZT9YMvFHu90H3Sz7VU3Fj1cMpkSPWuNIUtLDkBPgf1yeXgrgyeqYLARMKG32Sd3fG; 24:RR1pIIx8HMdo9BXspgVC6SCqDYOAs8E+9ohc4Gp8aAwl64IE3uqeqyYR0S6HVkIzwVH93aDVKESxDk1wSOAC4kiVSYZaIFhlVJ/E0S1nMy8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 7:Sy0Ghb+8IwNjHQVzCqDdVgwh921O9m/1IvBVsV+wrg4LvhEXkkfwbIHsq1ZSGUaEWzItoc6qpHyRYHSsJPrD+dP1KzIbDKbqxLwJpavykTOk0XtaHhTsC6TT6K03/iu2R3/bmQjyWOTlSr3NenaMsjtWHyPeaKhjTznq/mu8ceeIj5ItQzgm3d8dvfOpWVNr87QbjZhmb3dxSjvZmaOkrp//LXFJ/TN2BacY3aIxE7AXWAGah6VcNDdrKHq3ELgMoc4Truu3aDgoM4SWAzTeq/tdKHMTGE1ZvVBzl6uxD9Kpqed7C2yiZITPEAV+wm/1vCq6RJEuvMl3YSQPu2MJhzSpDKXf4DIND2G5szflyCJ7UgMKp0i96XTGd4nflTBEBTF11j0ibZ6Jp5kf9zcKzv7gNKTm2eR9Rw8uUyeVQYc8pX+tocmiuTfu/y58hp+Yd3srozRKT7GTcYGLoorH3rvsPKkd+8kfYmt3yowxMjo37Vxg+fzdRjbKD2DFhw71K14JvOXbJTHMjnlOhZ/JqmlBkEgAWNWhekTEelKtyHTnn/y5oewOiCIRPdPGdVj4UxnXE+uQEOYbtLkU8U5cV3hON9jqg+R2bNg5fMemmbkSe2mT3JCsT8HYQpzSRMG7+5UaCsop0i6Ev1mn6MQ24OJ/F3bxoAeFmkzf6K3F/kKcmueymfFXY7we3R/0BC5XpE5RoyQhgI/ZYyaWwD7rwcmZ4Di3zLx19s3WaF3vodvuSgn1C20498biC5CMHRAla/enCFicN8Gpmg/uNuY6v+Tk6w6Pl4dCmQB3z5eLkdg= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2017 13:49:07.5568 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3095 Subject: [dpdk-dev] [PATCH v3 5/6] mempool: introduce block size align flag 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" Some mempool hw like octeontx/fpa block, demands block size (/total_elem_sz) aligned object start address. Introducing an MEMPOOL_F_POOL_BLK_SZ_ALIGNED flag. If this flag is set: - Align object start address to a multiple of total_elt_sz. - Allocate one additional object. Additional object is needed to make sure that requested 'n' object gets correctly populated. Example: - Let's say that we get 'x' size of memory chunk from memzone. - And application has requested 'n' object from mempool. - Ideally, we start using objects at start address 0 to...(x-block_sz) for n obj. - Not necessarily first object address i.e. 0 is aligned to block_sz. - So we derive 'offset' value for block_sz alignment purpose i.e..'off'. - That 'off' makes sure that start address of object is blk_sz aligned. - Calculating 'off' may end up sacrificing first block_sz area of memzone area x. So total number of the object which can fit in the pool area is n-1, Which is incorrect behavior. Therefore we request one additional object (/block_sz area) from memzone when F_BLK_SZ_ALIGNED flag is set. Signed-off-by: Santosh Shukla Signed-off-by: Jerin Jacob --- v1 -- v2: - patch description changed. - Removed elseif brakcet mix - removed sanity check for alignment - removed extra var delta - Removed __rte_unused from xmem_usage/size and added _BLK_SZ_ALIGN check. Refer v1 review comment [1]. [1] http://dpdk.org/dev/patchwork/patch/25605/ lib/librte_mempool/rte_mempool.c | 16 +++++++++++++--- lib/librte_mempool/rte_mempool.h | 1 + 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c index 19e5e6ddf..7610f0d1f 100644 --- a/lib/librte_mempool/rte_mempool.c +++ b/lib/librte_mempool/rte_mempool.c @@ -239,10 +239,14 @@ rte_mempool_calc_obj_size(uint32_t elt_size, uint32_t flags, */ size_t rte_mempool_xmem_size(uint32_t elt_num, size_t total_elt_sz, uint32_t pg_shift, - __rte_unused const struct rte_mempool *mp) + const struct rte_mempool *mp) { size_t obj_per_page, pg_num, pg_sz; + if (mp && mp->flags & MEMPOOL_F_POOL_BLK_SZ_ALIGNED) + /* alignment need one additional object */ + elt_num += 1; + if (total_elt_sz == 0) return 0; @@ -265,13 +269,16 @@ rte_mempool_xmem_size(uint32_t elt_num, size_t total_elt_sz, uint32_t pg_shift, ssize_t rte_mempool_xmem_usage(__rte_unused void *vaddr, uint32_t elt_num, size_t total_elt_sz, const phys_addr_t paddr[], uint32_t pg_num, - uint32_t pg_shift, __rte_unused const struct rte_mempool *mp) + uint32_t pg_shift, const struct rte_mempool *mp) { uint32_t elt_cnt = 0; phys_addr_t start, end; uint32_t paddr_idx; size_t pg_sz = (size_t)1 << pg_shift; + if (mp && mp->flags & MEMPOOL_F_POOL_BLK_SZ_ALIGNED) + /* alignment need one additional object */ + elt_num += 1; /* if paddr is NULL, assume contiguous memory */ if (paddr == NULL) { @@ -389,7 +396,10 @@ rte_mempool_populate_phys(struct rte_mempool *mp, char *vaddr, memhdr->free_cb = free_cb; memhdr->opaque = opaque; - if (mp->flags & MEMPOOL_F_NO_CACHE_ALIGN) + if (mp->flags & MEMPOOL_F_POOL_BLK_SZ_ALIGNED) + /* align object start address to a multiple of total_elt_sz */ + off = total_elt_sz - ((uintptr_t)vaddr % total_elt_sz); + else if (mp->flags & MEMPOOL_F_NO_CACHE_ALIGN) off = RTE_PTR_ALIGN_CEIL(vaddr, 8) - vaddr; else off = RTE_PTR_ALIGN_CEIL(vaddr, RTE_CACHE_LINE_SIZE) - vaddr; diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h index a4bfdb56e..d7c2416f4 100644 --- a/lib/librte_mempool/rte_mempool.h +++ b/lib/librte_mempool/rte_mempool.h @@ -266,6 +266,7 @@ struct rte_mempool { #define MEMPOOL_F_POOL_CREATED 0x0010 /**< Internal: pool is created. */ #define MEMPOOL_F_NO_PHYS_CONTIG 0x0020 /**< Don't need physically contiguous objs. */ #define MEMPOOL_F_CAPA_PHYS_CONTIG 0x0040 /**< Detect physcially contiguous objs */ +#define MEMPOOL_F_POOL_BLK_SZ_ALIGNED 0x0080 /**< Align obj start address to total elem size */ /** * @internal When debug is enabled, store some statistics.