From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30051.outbound.protection.outlook.com [40.107.3.51]) by dpdk.org (Postfix) with ESMTP id 257AF377E for ; Thu, 29 Jun 2017 01:05:21 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=g+FZFengGXCaegI5VzNmTcHxJbDX9QHVIDdyxqO6Ek4=; b=RlrxGxKVbYITSjGVOEPvUkBQWFFgfpO7yNg9FUqB1u/DJDwMMsryAWvo5/WDWGWMFb65YTwPtZ5YT3By8aP9DrSrvJ2B3fcxp+tK5Prb5kvWqjBbVSGVnBEgRSQ4WkzXAf11E2J7dKrR5hzgmEIRluIr3Y+xzJvo7trIEZmkFvE= Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=mellanox.com; Received: from mellanox.com (209.116.155.178) by AM5PR0501MB2035.eurprd05.prod.outlook.com (2603:10a6:203:1a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1199.15; Wed, 28 Jun 2017 23:05:18 +0000 From: Yongseok Koh To: ferruh.yigit@intel.com Cc: dev@dpdk.org, adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com, Yongseok Koh Date: Wed, 28 Jun 2017 16:04:00 -0700 Message-Id: <20170628230403.10142-3-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170628230403.10142-1-yskoh@mellanox.com> References: <20170628230403.10142-1-yskoh@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [209.116.155.178] X-ClientProxiedBy: DM5PR21CA0024.namprd21.prod.outlook.com (2603:10b6:3:ac::34) To AM5PR0501MB2035.eurprd05.prod.outlook.com (2603:10a6:203:1a::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f22726fd-24ad-425a-b7fb-08d4be7a25c0 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(48565401081)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:AM5PR0501MB2035; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2035; 3:gKUmiKxqGLR46PYc4nXYu91WplWCb9F+iguN5gwCwUC4wjCsBAR7ILTTUJlo00RVbAGnf+tPAOLhaphiL53UkDkV0qqTK/G55ms4vVDRo8uuUR9CicQ7NkzybqbgysD91xM3qzB/YjmPExwWRfy5nCCCRT0sGHT/Jor3lP1xsVlSmOokE3El7Z+lxWVHTIGhNx+PNVDikkNGjoFLg9UxLvu8iZXcc0kUa2R5PfuqaoPFXEwTp5qUYLScb6mmU31V6H3MdylcYlwx5oObbNDjJKaga7OUl5V/oF42TPyWJ6ttJi3ZY1disp6PaKfDGbLTmtSMoLDbBWQkWNNfUTTXL74NWarSry8r/hs37jLoufcNbwUPSz5Qg5RoKsm2RJvppLDenmH4kcsRv+pFQteReAqjzRb8xM8cr9npX+7YpxNMEK71emRf2OKoCzotXCApY1/rO47uFPbFT3W1/akApRwTKvNSgNqIaz+XTuepPKrVB9uakY6WCqF8j2OMG5qJvccNCZJxrmtZHgZOfKBYhjKyyN6Vp0ViVBKpNvO4kUauozw5ZxHm7AVTWvd8kPBhzzLf40kplnX/pCAT1J5d9tvIb24RdZZ4FwZmFrrkdvdrY1OWDuWDr6aSaYUBG4qT+hHSYVCJvxAXM2OzmZc3mwDQBgE96FVMtCCHrk19o4UiFlreYFx8OAcgpnrygsDf4lldyeYM04OSyhi6g52gNz/zKAjdnH1BuVvIziHIYgBqScotWfbqYDh+0wFo/dxOzC+fIaHd8qEsHgVtmHDD4A== X-MS-TrafficTypeDiagnostic: AM5PR0501MB2035: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2035; 25:qpObMYvCki4rV8tjqV5U8PUZUnD9S79Aw/4flOWhC0vgscEt19BNa7e4pnjRk4Xom2bQqm4VVdbHxIihjRDkem47eAdCJpHcNOCRb+R6cz0pT5en9FYg+Ez6m2mcpuB348pmuH8OwGcTgPzp9c9kht4924sfZDqVxBzeB05W5PXjDLRPKIszoDaslluBYbq4Dwjza0BrzRtDahknQ8ncEb2VnRrDGKO/S/TUTzyET/P8qM3NLfIfgG7hIC7/emJg3AzuO0zUjaFZN0+C3QXCmsJ2Fj1wvpQk2dHUiIPCzKeUDxCu6cTFwfW47edn6HnMUOZRD26kEMtxi3MMOPCTiWplj56baUFIkvoTeYpO7SGNFWr0vPUPFjljzIaHNX2Qsm08glfydMc7kcPgx7SM2IQoryh7I0QQYniyLhUqBSC7g7JO0qT3Ui7C2NluBkvYDWrfTwRLBgSHuUkU09lRz8fHj7Vb8ikS+19bscpzGNNUSmxRB8A7TMPHAVThlGNPVDj9M5TWAi94HuBDgtxyqrGTwB8cUxiNO3Wf3/3ZZrNo8jVDEMROSeUjiGlevZCJiCxBi35lTlZn0m+FRsudjsGXWtWnpaAHp8zNJ8w8NNT5Tq7ZKgpEqbfmuJNBzq2NyBef0n8xqR3w2LR1/G/N7ZKer5MEPvAKZy2sMb19MogVCoCsXhz5O54NhF/7i8+hsZu9CCrZL77yQarPSVlXOWtEkjgBjYQ0xxAR2Hk9wnqMBCiHWi9pizgkeGo7V8J51eKVm8l1QMwi6rP3zyCdmUGlySNm5qi8J4Z/iWBIWHN7aeLJL7SHDY7tyTwVX+HyYDWKMhtrnz2iW3BzJHijT5YYs2CsizLkunnxjaKa0kPZzrbMNoJMlrftXA4DlfEHQ0MPdPw47Dx22gnrCdUjN0y2CPkD5gWZDFqxZw/P0LA= X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2035; 31:f3HLgdWUJWolreptMeyLKuaALcwiU3g3psGwOdvOJt5bWCJNjodg5bbgymBJR6z09Xh/7T0TkfhNg5FqXoTp4YD8aKvRCxH4Y6o9vxu7b7aEDjDl6g2EO7T7p73/ua1oth7dFiXGXViO67ZE2NTUfBJ+5iHRrelVSAot/3kP96xf3DFzTKHuOLcyoyfCAbH3Kq0HtMS72pAspGBJA4p9V2Qs9LObIGUPjwzav0mJPJzHXzKDJ1YVNX33sEYC7+J6R6aax4LelCEDA4PNmSCAm0ecVzewSBk7R98OKu5rcZ+96YN8AJbUBv0r0fgA0RN/jTROTX+6s+cQRZf274FX1vQF5o9y3VYGiVmed9wmQutpYHdmN5eD3RibIWX5RyZ5nZsjRPDWkq96b7rbVzQQoSJAkqRrwfzbTGb4Fn2dg18mJOVlHlFdVVma26g5p4d/pJLkCwZ10QpghVnjJYjvXTFW5vRt3/nnhmtXQ03O7XZ3Bj2o0mN2NwvEudmVBo3AF1JCiE0UWFxg0wrn54YRzzCvcHtdnBckpBeCvRsp37LWrY/9Z9oBLO0BtTeEs3tIs1f13SMRVC5IxIXSkUrrOOFMAkaqxtf8hFXc0gUBlAY6azSLR/rC96khVN/I3nrk1uGGp0q1BpssfZOYrsRlYUO6DBXtvGVa22FZwqMnGcLRr9VlFxoJPI1k/6kz+C365VOdbSqXGrA4H8+scm9++w== X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2035; 20:8BGQIAmHyiphTU/xGecyKlLkrNjIhbvu06Xy+RWGe0SCniXyr8XsBFxJh/IR1dA0vIx3B+RVFRP4b9L2GDzj2aTYg0m/BS31YcVujatiZYaT3G2xIuKhUZZJlUefenSGV6GvLy89Kw/t+tAkVrYlFQtqRrcgLAfhQ741aeXONTCFB1MktJsfxa5YlIZlZ2G34e8O5LdB8GUuLkeBXRrozG4mfeXQTLEBJgMxI+tLc4tq1nyPPfs1abBNS3ImG4lGwA9vu24aFa0dQnKqO3qdcdTj+CoOvozBIOXRhuoYeERh5S3wLonXybi8krioEc5eW01BSGD3hj0wV77foahvsatxrHTP6lNkTuBqhFGwx8Y4+lvSjRI+NabXwePgyaJts98t8Lk3GYj2V1FitSBAv32+7j4MZXFELJP6SB9P8xmOdcuwHNNpn3I+ogUch8DwH4qpXZLgqZkWuOcHepw8pybSyZlmgKmlBsSsLu6oXduAVHMy4jeioOt5wrAudtxz X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(167848164394848)(247924648384137); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(3002001)(6055026)(6041248)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123555025)(20161123558100)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0501MB2035; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0501MB2035; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0501MB2035; 4:FoFgrB9QrhEvoHf8ZuyIsZXsnzXKLoJ6psgZawv4?= =?us-ascii?Q?rJY8iQY0OzMCf2P6ahccrtde8t8nADUG2CMP33XAf2G2FIDbbT3xDxFWaASE?= =?us-ascii?Q?4tcYc1NaY2LXVMcaek8C9NRBGLOqNrwpX63veeUt6TcD8vNu/psJ1TQ6wgGB?= =?us-ascii?Q?hy8VVVMhXKOmbc91bKT4qa+I2LV3ERV0Fs+JDbAQfjG5P72sCaYC0UxB+xkV?= =?us-ascii?Q?k2UwRvOdqtl+mGa0+Uiwr3cnEAsSDVxRLqXW6YoGfA3fRW+Vwxhq3KJGiLgZ?= =?us-ascii?Q?QRTyYpFwCasViL0wzX38u8bjnfQn2ABP0hMIERpUy3hyMkdsxfAgMGj3z7yI?= =?us-ascii?Q?2qbj/g4lGV1KbVmd/zlKDEONO5S1SLpJNrq3QKCV79ET094+UIxBovyHolBH?= =?us-ascii?Q?rq7jPbwNI4i7q6/xRGtcSp1s9FmG8KHViB0HiURwUdL7P5TwvZ3MD5P1d2cH?= =?us-ascii?Q?+CQOVLGRwdXA/T8nbS33EKyCT5HGDFvNriBhka4RsfCoqZDS/0k3g5GFiMAE?= =?us-ascii?Q?nuxQaFBjJ5WRb45cyen4HlkP8TbsfzeZICgWoxVqd1UxCh2L8RRnVTTQi6m5?= =?us-ascii?Q?Nb9J3RuO0upJzYwMiYrVWh9D8oXxp3izNQHk+wwoaWyWaAU54mkdfS2t7eIW?= =?us-ascii?Q?5sQLAi6keFZ8FGqgUVPN/wj5uTY0efnVqS9RCFjMi0/je6v00q0g+R3q8ooL?= =?us-ascii?Q?HoB9OKwuIQ3snx/k5vwrhUIKH0ivFGutnkkvVHaVUBOp0VNx0UJIHTshio5L?= =?us-ascii?Q?/Q86uFqlHUb7FdJZv+fQwPkZc5qYeKUfXHplba7JTveZJSfqeiIT2rpjxcQC?= =?us-ascii?Q?hmtV83WeI006zY17w2zu5P0Preo1d73OP0SWC8lQCVzcOoTzPUNoRLCIIHGb?= =?us-ascii?Q?L5dnCDFlIQdFH9Db+t9w11UYtlk761VjKT+oSUoO+RpSEtS8JdB5blfImsk2?= =?us-ascii?Q?vy0mzJf4dtrWRGHGE4wgbb+SuDkIfUcj8nXzqCpy8iXTwUd1zr5YtsEx6zPF?= =?us-ascii?Q?974UJv+afLmRNiNz8Cl7dwSdZSBrdaZPTs9CEI52BkfWJbAq/SoSHencXOb7?= =?us-ascii?Q?TgFHWEnKMDET2eCwyIxLacTrGamk4U6PunxFoC4kCHVrpkyD5uScAQ9/BdpO?= =?us-ascii?Q?umTdJWAAZ3cbtGpWoGYaQCZPdZrI725nw8z3/WXi1GOn+aGfhWSft0xO+xP2?= =?us-ascii?Q?F8RRqh2NTRzDm6TDoL89cj5sCvl7PN+6pEUain63EC9/VjDNIGO/QW6ybaDE?= =?us-ascii?Q?vj/pn9rtf+6JU7JFRgjHoP5SfruILQQgluHMNhRH?= X-Forefront-PRVS: 03524FBD26 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39850400002)(39450400003)(39410400002)(39400400002)(39840400002)(39860400002)(107886003)(38730400002)(50226002)(1076002)(3846002)(6116002)(7736002)(478600001)(4326008)(2906002)(6916009)(2950100002)(55016002)(50466002)(42186005)(6666003)(53936002)(5003940100001)(48376002)(33646002)(110136004)(2351001)(2361001)(189998001)(86362001)(50986999)(36756003)(81166006)(8676002)(305945005)(76176999)(47776003)(25786009)(5660300001)(66066001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0501MB2035; H:mellanox.com; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0501MB2035; 23:Z/LtynQAjP4ABtOCxcI3YKWNFPpmcqmsIep1RhE?= =?us-ascii?Q?YhYDCx0xAi9qVd715mZo7Kzjx74o2gOaT53LbTvXc/hGcD+aIiLtCnPabfOB?= =?us-ascii?Q?3uAsgMArRohHxOR5egX/5wq6Y3/ZF10Sxk8GyZHJHrag/NDOg7JTGOO9/qGd?= =?us-ascii?Q?MYuhbByps2j3sVrFCi6N6LAyIynJq4MzppWWU2P2kAr7uvI2g5TrDxrrcM7u?= =?us-ascii?Q?muc+RgC5MhicFZ5eE/MfOdETHTVVTKCi++xk4Ilr8ZRyXFea00W4gwXPYFnx?= =?us-ascii?Q?sjREiw1pKPsSVwnLZyWxmmB86rK55+Fo0+og1glAny5ZrZUu3DX1eNmSsfGS?= =?us-ascii?Q?fKLjhSxZzVJ6od25vneAOgbNCb3vG18TnWmq1ky13R1r4YOTx/Nhqiyv7hZk?= =?us-ascii?Q?GhDgqNPpuHKSAec68C9x3Zp4v9rQX4lLfIniNMMHeH4XMv5GfD/ajJltiwYf?= =?us-ascii?Q?RKvBNMSaUqvny/TnSj/wXkEwhkM43X7W0m22lJnIOujCmmNs16tqGtuMmmgF?= =?us-ascii?Q?WtR8dtbNqQ5zW6IDGyqf79wNqGhxEufomRw25RORrhp9Ea74XMYdzOPFXw7b?= =?us-ascii?Q?GMtY3dwityI9uF0TvL/cv11weYWCea9mhRnJKJzzmA8S+iUhZ3TJ7WIAEr56?= =?us-ascii?Q?w1vW1rPuumZbgIQuJOaI3/fIW9iuf9C9slfNS3wdfq/bb5+sZ9Ph53gQNLAf?= =?us-ascii?Q?mI8g76GUGgRT7jpVMMsZndxxaABj4yOx3qMBvhDH64CNPqWnUuPIFXefRzmA?= =?us-ascii?Q?zJOgiA2ym8NgrZb6Us7qfhnBbHYDW06mnX5M3o7guHht6Eud/3a/x3Z37ts2?= =?us-ascii?Q?uCZmRDUbHCHa/ZLJ4V7cAIi/J6k/Q4AAW8tle8htSBOMYqlkRTtae9kzpFIF?= =?us-ascii?Q?PC7xe3aiVayg5K2yk0k9UTA3v9KA0lZQV2vvU1CI98fB7YD2BY3SDIXZaEmk?= =?us-ascii?Q?/zrnwblhXBS3iMbVRa73trpsQgqbDT52NOQ1lnKfP+k891WQhmqJiTMGu235?= =?us-ascii?Q?RyDELVKB15ezjtMNTBEFQhJxkHVNZ3lSm6+mkFQ6belBYRS4QPJw7g1ClnqU?= =?us-ascii?Q?vGG9cb7F4/cTm8mxl/tF6Lmxz0UzrSYnxXdZ4Q4uDLfhA+/0l+w=3D=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0501MB2035; 6:c+I3+EgkRRplxFIAb3VDoAOtS7BzlIOhW4CT54Gg?= =?us-ascii?Q?yW4raiRQijggycW3QxaBUbXeL3Vv40m8EuWYWwTVh7Ggb8Zbg8Ipp3g+lawL?= =?us-ascii?Q?37jZd63Bbwc5yRBqbD8cnoXbVjRbZ7b3zGIh2XU5GnL5svJ2LPb4H6XFZwqG?= =?us-ascii?Q?gAWsTTBBf1MT3X+aU9eP85rxpY5NnSqi5V3FO7d6mkTzhGaiJ9J3IRoK7LtM?= =?us-ascii?Q?Q4xZ1IZuKyeH76QdgdajG5vVPzRXIjHmpI3CQPxJa9LjtxHJKaWq+coCI9eo?= =?us-ascii?Q?6pBhQUR/bofDjeF3jue15ApcfO70IbV4NHj4A1NjB+lFFx12JKsV6DDwE2bO?= =?us-ascii?Q?K9p+64B5AfAw/2t0Y1hZgd3YthCDzFJZ1F9RhCtHlhuOgEzGt/PnUz+60D8L?= =?us-ascii?Q?uc9hLTH8j85QG+t4DWswEnkD7b3vi6ALe7zYPMH+cWyzMhGTv7U3gSQ/jnlU?= =?us-ascii?Q?IyPWp94jB8Im53x2H2Tl8OTTH2LMaNighLACXMVuBYCcz/fOyzIxQpackiZN?= =?us-ascii?Q?AUsA2+6bQtI6r9yRXEZkDwUN1pl+3J//XCswLwBqk9gL1ffEJdtxRh4XkXRj?= =?us-ascii?Q?5z85qGOrc9UT3WpKY6BQKDTjeutqwoeUbRHxuaXouY5RP10izM6lnHqeD4rv?= =?us-ascii?Q?ugeZZwbGdMZEfUsGwBk59SWBb82tWbDmW0WOYVYJJNWM0Y5I9Unl2HZMaKMc?= =?us-ascii?Q?HtR/IjY19di2OMKOwmNvF97aPrYEX0h0AMPAeIJJcD1RQSxLkyqqJumk4ytQ?= =?us-ascii?Q?dLmC6iRSnK4c++pim0CAUAUXq8uNf1n9yLPaEn/9dHIkhEUiWNF2oOL7GbVf?= =?us-ascii?Q?I61BnVZZdP9V98nBJBnzonAWoQxu/SVt7TZ+XjgHW1TLP1xKL2T0RNJTreQD?= =?us-ascii?Q?MHApHTqMX5mMdlEP6udZ+lGi8fKwGocfwgPxzUeTYnBC+nS18ooQ+SkNspbv?= =?us-ascii?Q?IcPGRHaILxe9DxxQqcOw2tvc6PZFMmtrm8auM4vJg1Gurn2rTwk1rfWJ3mkl?= =?us-ascii?Q?xD/G5SXVa0oPLN/m5d6Jo1Yx?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2035; 5:HG2zWXpjU6ERM2qzxEmiPOuJVtZejDirDHCYbyJYkUq1rzIjgHA0SVEE+CR6BQMHej5MfTu8ZQV0SayjhrD0vrcMiROFVaMwJPdB16+YNd6YZczPgmXGSptGi2jFhzZX1G97MEg6egMjAuHdbqITw4L+Yp1CaItrTSQglWr6vdPZM5nu2KRlkorqEPzTBLaB6uQNnDFW5/6JAoNOcSM7fVvVWo0ZjhFAZ5/WGfBtRcfRhcqB54fyvQKzb2RoBvRKJUy88guOT+RUUUHWGO0Ewta0fmVqHZmVZbYN1m8tzBUhx29emNP8Ec7GKt3SODYDJWWEXTgs3C402mKQBfYuxhthQuaj0uZaM1F4+LN3nEz01I6Swot6ZyFHURMs0k6GeN6MjVY2Y6kOaVm9jALf57HDOZQPLtEwv3zb0Z8swaYlsw2Myic1x78lDH8ZIZMT+Om3W3liam5AGVbI9sSDA4C/8pN32FwhRi9OCmXvh9WQgy2yut8mxFLvL7rP5CMd; 24:ZD23pHGNj0xQA0aSE6lHOQNY2TifRUXvIidF0UFwCgc2k7NKk88wUg84q4JGAJPekTfHkCsfx2c9VqfJOgIMhCYt1ODxQG4MDYOunIbXQas= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2035; 7:sVgymb42u6N4S9o32TfMr/2HSD/oWUf5eWQ/M+QGfDuREWeVA0pk+RpJ/QqJfjW36byssZuLuCpnPEEdceO3N46f7098q74F8wQDvaqVotqMpllqHv4gI/5YxyBylQ4SJmL+p7syRo7nKQfEPiUfyFHyvxMP+dGXGXfNiL2Rqnt52iBEz76J+UY/cwzqgGwJ2vY+q8v7BcbhW56S7l9ziJT44NikSpaAXWiFrKLc87IE6nUXK/FWbZSzMwvr/jihX9wKmoCYtUvx3bTeC9Lyv3zql7UMR5bgNgPfK7WhYIOi6pptTFU8H37EAJk4ZeFCoMPTmqnbz9gNUZvwI+rX4Jm4anBoQ8M2JXEgWwaHRwH6zAEdFrH0EQz54ykJqhI8eF7PHPgFbMDnuex3yd7k9gdU3XKE/GA3bS8+96ELYbB/skDx1aoajfu4DjDz0xVb8EvuGPOme4YuRi4RkMdjinGZ4VXgr6s1So/E0YS8R8ODDwhi43mP2zR5fDrGfQ6tpaXWCEA/Mx3hhCcKIgPXWfiR7HQrqM8TLor/G+cUY1OBZzZe9glIIMeVeraZG8d4RwQ/bE3qK9ELrDqg8gZ2jwdGxnZqPdusAnoBcLY2DYI2vsrl22/t9iZ+KJ5YGD5nBv2Vqq+lWuVVGFc01/C+InVE1fE19Okl3mZ6Nn1URW9F5mT2UbtSnfdiLKuDmSMNgKTN21M7qD7ipMVOEkF9hwqyc8W7Joga246FbkzOZQSKDod9Imd8bZpp749k1JTCcxFY8Z8TEvSW9WoWHHRSgqueuvDlnThLhoL0swH5i0I= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2017 23:05:18.3506 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0501MB2035 Subject: [dpdk-dev] [PATCH 2/5] net/mlx5: free buffers in bulk on Tx completion 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: Wed, 28 Jun 2017 23:05:21 -0000 When processing Tx completion, it is more efficient to free buffers in bulk using rte_mempool_put_bulk() if buffers are from a same mempool. Signed-off-by: Yongseok Koh --- drivers/net/mlx5/mlx5_rxtx.c | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c index 43db06ad8..d81d630f7 100644 --- a/drivers/net/mlx5/mlx5_rxtx.c +++ b/drivers/net/mlx5/mlx5_rxtx.c @@ -264,6 +264,8 @@ txq_complete(struct txq *txq) uint16_t cq_ci = txq->cq_ci; volatile struct mlx5_cqe *cqe = NULL; volatile struct mlx5_wqe_ctrl *ctrl; + struct rte_mbuf *m, *free[elts_n]; + unsigned int blk_n = 0; do { volatile struct mlx5_cqe *tmp; @@ -296,21 +298,37 @@ txq_complete(struct txq *txq) assert((elts_tail & elts_m) < (1 << txq->wqe_n)); /* Free buffers. */ while (elts_free != elts_tail) { - struct rte_mbuf *elt = (*txq->elts)[elts_free & elts_m]; - struct rte_mbuf *elt_next = - (*txq->elts)[(elts_free + 1) & elts_m]; - + m = rte_pktmbuf_prefree_seg((*txq->elts)[elts_free++ & elts_m]); + if (likely(m != NULL)) { + if (blk_n) { + if (likely(m->pool == free[0]->pool)) { + free[blk_n++] = m; + } else { + rte_mempool_put_bulk( + free[0]->pool, + (void *)free, + blk_n); + free[0] = m; + blk_n = 1; + } + } else { + free[0] = m; + blk_n = 1; + } + } + } + if (blk_n) + rte_mempool_put_bulk(free[0]->pool, (void *)free, blk_n); #ifndef NDEBUG - /* Poisoning. */ + elts_free = txq->elts_tail; + /* Poisoning. */ + while (elts_free != elts_tail) { memset(&(*txq->elts)[elts_free & elts_m], 0x66, sizeof((*txq->elts)[elts_free & elts_m])); -#endif - RTE_MBUF_PREFETCH_TO_FREE(elt_next); - /* Only one segment needs to be freed. */ - rte_pktmbuf_free_seg(elt); ++elts_free; } +#endif txq->cq_ci = cq_ci; txq->elts_tail = elts_tail; /* Update the consumer index. */ -- 2.11.0