From patchwork Wed Jul 5 18:12:25 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yongseok Koh X-Patchwork-Id: 26519 X-Patchwork-Delegate: ferruh.yigit@amd.com 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 10A4B5699; Wed, 5 Jul 2017 20:12:48 +0200 (CEST) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0045.outbound.protection.outlook.com [104.47.2.45]) by dpdk.org (Postfix) with ESMTP id A106E3772 for ; Wed, 5 Jul 2017 20:12:43 +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=zv6M85H+1M/v8pC01Xg9HYwu63QyZQtSEdq0/KoaI7s=; b=SOh7rDGaUcrSpkLjvSDmtaHiskG5NSt+kmDueIZOn1vpXZXb5Ye38qWSqcrOl6ZJjVDqm6nKLu/fFFKKw2lRzU10nV+SCF+E1msv+SX0SWaDnwigGBuzj526Wdo1lGUgKsKU38x5ycQ1oiRzrarngqxfkW5591dpF0Vzso+QHx8= 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 DB6PR0501MB2038.eurprd05.prod.outlook.com (2603:10a6:4:6::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11; Wed, 5 Jul 2017 18:12:40 +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, 5 Jul 2017 11:12:25 -0700 Message-Id: <8377f0faa69b2b52d3eb0f80a8d73c0fa2069b9e.1499278209.git.yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: References: <20170628230403.10142-1-yskoh@mellanox.com> MIME-Version: 1.0 X-Originating-IP: [209.116.155.178] X-ClientProxiedBy: BN6PR16CA0014.namprd16.prod.outlook.com (2603:10b6:404:f5::24) To DB6PR0501MB2038.eurprd05.prod.outlook.com (2603:10a6:4:6::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 969ff51a-4eec-4031-8b6f-08d4c3d16d66 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DB6PR0501MB2038; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 3:UT6jcyJ7lHOiUQX5oQK+Kgro4nGlbS2aJcScYgs9VFtxc+jiA8uhcDn5sPLgRAs7bmriGTEn4ZaJxe+kcBeuNWpiFgwm7ZOCpsNUh03oiq2G70xXqidKsnZG7tSXxA/0u0dtsKKuC9yixOT3CU0eQbb8osGzBvC04sCkvUPEUguxI15EsZfHJaOuuSFcDNWVuHDET6WrvowqikVuk8PeVy45xJK+O9IKhVmUyGZsFf1GO6uttbbZfTor2hUpMJjj1fG8ZFXboirF80/ub8Oivib58E86MSr3pPVG0R6MVgYRXGa6x05ipCRycwKPf6CxeFGavJUQFHvmnnskPHtJrn0rvDquYJ+8wQWrZUgT2pqMEU0GMmL4zz0X3AGfzwSrGcOWcFuW4vehGNd2f0hwssCMcRhDGIvsRB8U4vC5WCAQaD6zuUzGdJqL2Rmjh9P3TZ6wLr5rDOfMFzB2IktVGv8EI5bY7W4KrMB72TqrlXghefxhEpXqETqMSlUj98FMQgayx8h97/T4nasOHmO4th8UqMtG0LPIjkrXZjup7dx4fc7w321+CvLW/3QLIkVM68YrwCYcEex4SPTbJnDSFX9Y874w0NtYqnev5LmATR5pBONmzp7XfLfuqlo1K/LXgo+s7VAOuW8VTup6dbm2yU7CJ/jWHAh6GM1g2vOw8EEUGGkOLLz3jMquKhp1qIM0tornHIDnDnvDz3opmOMqU8kLjLtM+ULmIkJ2XurtGC+l3ihyadyWSuqsJADX8nN5vwZQWGctwM/HRFdtl+mAVw== X-MS-TrafficTypeDiagnostic: DB6PR0501MB2038: X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 25:4JCrOKbo03Ef0plhegKIxVkehjJ3+0+RCMKA2DzqOSmR8Z2iU0z2sFySQ5XBb382sUGcLX9dTbvU1pY7hdhP4Oi1tZzReG6jBiwtSVOz8/PK2vvyp6aEyIX7kXeOPnxIkbFYhGs+KLSRSJWhgNRO6maADPPxT2xjHE1JsBeMvz6hBXOVoMjPVbY+hG9fKdj7SKyIF4VActQ69qYY8ra6tc+xrFfTPMyU2iDx0a1z1oQLJ5/YtCEM68ddwWS5dK0D3+/zn6ocGU5AyRwN652SpI3k1XcefdaCrRGQ66S5/k5D0yFcAYr4EC3LEtPZwm6WOh0kFeCDKyFUCGMaQIqntGZtukAaJu2t/yGgJiZSN2goAzkfAlmThHJHu4kW81bGLh7F4dBsxD1n32yo3XCOE2Q5SEmP4x3yqh1lY1+qy+KA/7WD7ZxTHKjOgiATzqIhLDdlF2tG5OTKIvt8oxYGeJLK6zOshGiSKeZSOKoC/z0ANGQb1SKp+s6mgC5xj3UXTXtBZvR/BYvK0v4kVA+ssJqmjT7VU34TzyA2e1yW/4YDQvI7fgJ8/ApkvC5u7pO03mzqWQybDecGvT98ziM5l+bCIfLlSSiBbunOZETudr09e/h+fQiY9ick3sp3ElBYjFjGMnkHMOd34KKFywKFCS3ZJtodBHqiSBBJqQzrp8BbE2wDm+BAYenUdZnXgsMO4soDE4eExam4ii4QK4IbFYNZUkK1D8BQzTWw3DCW+O2Ro/9Fm3eRtFHwsIENx/vhMJGi5wkbz+Yms7G892kIb4iyO1Su/H+t6HqNMkTZsyefEvH+bXX5jVLe5O6xCKM42RAxorVtittiX4WC0GrLsxoD/BUuLYDqPCMCf8mmG1k7Ibc5og2XSuCBs323pMBmHMszoz/3NjCzApMeeSXdDPcT9MzeT7NS6mR5Atm4jQU= X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 31:EUiev339kCCQTC2eFZ0ssZgKkSj9uNb2oCEDIir8UVjvaF/cLvQxW2Wa75vmLABHxsVIc+FjvYxFo9b8DIAqYup6qw851wCvCgHNokGxcnpfO115ez9lY2U7pO/MQVz55+gVy8Km6jSQ3NiZhtwpLgPyzbDnvoTxitocz/8FNpG01PJIGED51nNwdXPB+hvrguswVqEnVQRD1PZsZT+6P1ANpHAu5vPiun4InGWeFogQUHzBZnH3GwR2CuvuCBUIvCQo4TWxWAaCkgRUbo770+zY0FYLRKJMW4/bSTrw/NyHvayxTtdZA0/30JoLCpV765d8zW3Js0PIi6j+kt9NcTmKr0/zbbj6ndEe1sOPLZiNz+RB304Wir8FDMz/pkZxlbuleNFx4bIAVgFYpvjdW4WU0S7CX+EivLuZAYmQHaJQXpjDy8KyeATsrf41mxb5NyL1+sg9DjKx3g28VTBrZ9rmiYbMB+gCIVZgzjidjeRmMYn8xFcW5ZUtia5ki8jUrXC0TyorH3qrD3AIwB/qM6Ha7Z3o+PEBH0EeXrsc26YiNJKvutM50H1w+MqWSdLCxsA3X+v1wrQYEPxGpuvx9vmKigSI+85A3hyGtt2Zzh7VHQkEcb07vg6/u3EKawI2Ar0z37IL/jDPiwKbkJdTmpKy+4QFOL12CNGMTg6gAvKjA7SVt30/s04q5odVVReeX5In74WIvxG8m73LJQY7sA== X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 20:6c8hctNALQunlphPtFD6EWT3JZ7iY2M4OsisXOO58NR5Lscin4+jRpAGHIrUcY6fuY/RvImprAtihDCs4+BnWnA11AmwXz3ozE0EiMCSfV3ugJEBOhFiry7A9pH3LChx9nhhx2Ty8jFQLxKVU8ZXitBfcbZZ7WaK8sVm3E+3Y9Q1+G2iAUWnuyQTnoYOv3pvzOduQMr3KdXHaxlXKUXKFJlRulEXd6+pxRaM9Gcnv+KBiHF/1ygY0Z0ZxCJTiP35oTRVaFy240nTLS//CPUfqXsR1FMp7oNWT7aQC7PN0xvVUQfgoS+HMXPZhONJFr2hHL/47SPFlE0/LxQHDHXHDatZe0CPIueScFiF6sNtB1qIXXlOhNKuzTlOI+WmDZKF74EUpuDcca8GRUN7im8HyI2BDBOU1JMnJggwkPew709BGZoh7xiEm1tR0J9RtN+2VPYeMCIxjb9O7A5eRWEVIOMjrUpE0tVsZC8rcajeXrS2+rBZwoXjw3LDEHrUcXS2 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)(5005006)(8121501046)(3002001)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(6055026)(6041248)(20161123555025)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123562025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DB6PR0501MB2038; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DB6PR0501MB2038; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0501MB2038; 4:WPuvF+t6Fk9uLri/Qm4b21sP1+x6iTFBMtz0Y52m?= GrqtqoxGZCs5onqs/t2vMxvrSK2Y2HvqEzfhPazyzF2HP7k6GetfexP5iDY7T1uPfbO9Eno3eHI+Bs2ctrCe2s2ye9t4gHSIP3JoZUQRYN//a84Tnnx1XX6yS3YZGoUDhLcCj7254f7w2MhYGS3GeDxKqihR2pb+ZyY8PGcgw0q/i14oaIgJy3HCXUPBR0zz7/mdqGJAR6RwIcaBvFf3cLsZxL8Elck4pTnsWNZKO97O2Rux1JY8FSpaJEddk5V1qXmx+vinC7RP/8WltnC+hWsM1dnXbItEj31Tp2TuFEpV8W7O3NoBn/TfkogA1eEksOrZDWPjJNoq0H8kNAaPtiNA4oERk/MaDLd1MA31ftlRxspQYJGpovEOffIZ8+hGLn6qOoOCxXxxWnUA//2Ed4lv1dFlcjG4lr98skZ7ngGKe5LfpY/suy6fCgCWnKoC0CdrpfUL8MYAu+YLmX2Nxvw44fwtgpVAbD68C7Mn3ABkVJjYNJPVT7vB+mmNIs8w1Ze7b7lKuB1tJMtkMCMGuD2WaRCoGGokYs8g6JE9pJg2Zcf9Nb4Xc/qzS9wMwTWlWFA0deb+Aoj3QSlRYzPTtwdMU5yGKydblO5Dp5KHHJnB6x2Re3Rx57Yc8HDtY0rRZ/gGMGk8rZm7fA/AE5aP3fYkHtwaiRKaCeFotOL/OQKlrp/QPjHRKEMV5cQDIhRZ5b+ZyJA2Mo0whtVe34lps4N0d+Dj+PTjklV7jWmUos2gYyJFTKkYTHLhGYhvl4498olswICmBMSedM4j5MkkbyTP1brGkoQhtqyuwQedarW9I+L0zbV1D21icFZzCtYZKtEbz2gEsilhJqRk5DK4EMb0dKvoZN5MjvO12bl45Jdpnfhu6/Qycmu4aJ8588y3AZcl0J9Y2uxRBeWARelLck0FORj7cCwgTg/LnHdc6++7WaYpjZpkiYSVjP58ivA85j2oOVDYyG0YkuvQ0i8/GIn0Ysx7RuIvVX4A7BS2H59/ZGgOfFfH3xCukrCc1D8cPGv1Z+8s7j780bbSUKwEWQi0fmT/njb+KWDnGO5NMiHX3G+fCBCifpc4IiS0GKGbXunCvB1zFDVjKmObR51XT1skExcAo7Vmm9uzk15V+mDsDXp1hD54ZZ3YVCtSJk+kGaX8qwc5SAh90LVCNyBYcOMT9SZKmQri5rmqVTerPPBJUhSWnESog6H1coDFFOwDVHUjanAzWcSdSceHUBTcgBPN X-Forefront-PRVS: 0359162B6D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39850400002)(39840400002)(39400400002)(39860400002)(39410400002)(39450400003)(8676002)(189998001)(33646002)(50466002)(4326008)(7736002)(5660300001)(5003940100001)(25786009)(81166006)(86362001)(305945005)(50226002)(48376002)(3846002)(6116002)(2950100002)(2361001)(478600001)(2906002)(6666003)(2351001)(50986999)(76176999)(53936002)(42186005)(6916009)(55016002)(36756003)(66066001)(47776003)(110136004)(107886003)(38730400002)(118296001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0501MB2038; H:mellanox.com; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0501MB2038; 23:mYTd4Aii3iyEpLAi8dFx3zbJze8LAk22NO59tea?= Th3Cdcea1e4oiJbrw0+U+jfEKRMXAqVbmPWlG2skqpGTQAMNHgX0d5o2SAN+6VmwQorBp/qiiytdnCT4Zixdd49Lw1Niu8p/BTnfb/yMNHEXky8d8xmkLEM1Bz3/MXOFE/d7ORBz1Rtatb5+4ObURlobjEqKidR703f8ZG3+5XshmTGJ0cRc6HHEtZYrWIDAipIBGnupA38SatBfqr32u8H4V6GDtSByhh7XoOTKka5jO7v7v5XxG1iB07FViLUUXp+pTZxNh6lx5+drWjKYvmp5Ar0vKa7nIWUiyZQzj7M/wtKstZshEb6N7+aTp98Yle33oehFOp8bs28O1lAfrK1Uq2uY/qdEYTAtukr6z8mZ+rU5/mekqKVkuJ0y5HJ1aSz3TWyYtkxXIuQMo/lK3Jz822ODlsOvqmvDa3F+/JSPr5T5TG1MvH6qaBChS0LZitzG2Y4T+nMHdkg1kytUW+nmnFKIQndatGwcP3mb7XG4Qe2x5VL1V+1RpUbvUXVdKn3W98G5lSZ7HzVGTYXsDw2VRLBhTTsxUEM5TuUoJU4W6g9RKDMzlkb2x72tkiMuR5CSUeUndTZ8F6vmg19d3Epb01Bhe6JWM6D5OZHvFyvStYkA8NukiC1uk96TCXK4atZ2OdacIZod/EXGs+ACUQYvmSxYWOF6db2sxG7+dvXTwuU+IABYQdcws6tBfbGkxhzklgreMyMjEXv8v22IJpH1SxoHty4JvHdwmzbJEgLJFOn6PVLDnl9L4B/mI1MAASUcsIlG7Zs7RsyGuJGpGwdbdg0EvnIL9AdQILEGSHlkeg3C/rf7cOZEt99a5yxe5ic6Zic+9W5bvP/EcBErzuaS7QJJCgtRnKpTiGl6UD1Su3xwlndDhYEzLZ+Cr18Dm3O5eu1HWeZir651RoeN7x20NQ1683qvDMYCgyJTX6Uw/I/4ZGiyx8wJ4I3Ylz/4bQ0P8kIfII4JloJrt8ffDRGCG2HLSaqZRy3meQl066gfgB5eQ262Cv7DzRrn0kr7ScxXasfgqDDZpiX4xpTtavzpInjFU6Y75MZP2qHK2GowoYw== X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0501MB2038; 6:9RnMhFNmCaIQU4vMwatw4XFxFuWyfcifqJ5AAKjM?= BeflRjgzhCx+jXo6ViO8zl/XiUhpLmwDQS/d1Mw2GaGHjTrOWvoGOhaoqz6fOFeLeg6V2Le4hiD8sU/RmjZD5PHhNxOILFm2svSC0ycRoNQF0J2BOSlwS0IFHZmaFlcC08VveRhEudPD9foixUzwHMnPI9mHEH+m/s/aijf2zSNcyWBTtQqkp+2m3V7AKkEStmmr121Cu5UifK+BckTDgGLjq/Mg6amf+xWCLv6xmD+x9rtuMp1ch/FyUhe1SXLi/AOsmLpMlwLsH6HYR6d6IiG0ojxVn/4GK0bqUhoVUy3IRNovjVW2RxS/c/t0dW7tyIZCgzuwPpcn0hJdgbwyBaIZiBuofhBfyNVi97HUVtX2u/qML8CjXo4EN4KiWF2F87MFEc1XNPexsVNw31gd3L3vCjvS5rh4LDXLJ/E7bbCsjfU68ypRmVIgGpJXNYdBIwYCF1YICQO3cfooDoeLVIIVyayH/8mY0q/0B44qtMrzAxBPrx1LUPSSA25P6YMcNehAi+r309IBBe690D+hf2zUd6+HPUjsS8FAXSUVu55WGBGfd4WFZozz4hQ057kNKM0rKWQLA/7K9xRaNJGFJEFW48XLWy7bR2GB4xcz7JjKxFkeySe5wgdFR6etTui2b1Jp2RvJfti4BjNsa9+AXh5Ov59EiOI/sPBQg9xJwwmK6iadhV/nkaVN9zSo/rlvgxTLWnh1L3TPcGQU+cyx/rJFKHQfsA5thnRARsZyXZTDDfJFzkpl17GziV6w0HruAtfmYwInE+kMfd7xp9z/wcmnmb4E7hT9DQ4P4ayGDiz8raeU55XoNMW/6SoKYYbrEnORVjIKNIG1ZmCbahtwhaj5mTCAw9cn0NneHB++mQ7aheC+GkrpKXQ21U5ToIj3D/XgF7pmzdAF+d0Xrztg6IxMZTg4JeWpRgFtLvMrY+/JSLLalbAw2zxPCpGswxhPW2ziY8fikj0PdABYY+bGoHeJ X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 5:C45xvbS9KQRjwPM6zgpCfPAaGW8osjP8+KbX+lAV/bMAvkwdeY7csF54sfYPCzOwkDDTu9RiwXZOSou+KmnX2uU/1RiJeIP5r1f7sOMfAokU5MCRtLIF4mF3ehmJQnM39NkYlFI9edO1NPHkHjPix8XQFv750nYHwDJYFJyKODVK9QixNagin3UVfczBtQWosxDSTiUZh7+JFfcw/AFN9NvhIT9WQatWDtO1eQ+ocMHq3r849dfwQ8nTTa/ODk5bzz0bSXozlqQ31hqXLPyRNZf+N/W+UDItu+QShXv5Qul28uU6SZnDN92XWvl8fyQrfMQVBvtdnEcm5h5GZgm4wHUbr6H4CgP7kcfpfLNlO4hB3KwyrIge7jXCvPFtW2X2LVIHjt5U8EQkcgj2VgCv8u9PjiX8Kgse5yJCyGoMsQPSZRSlh+Cyo5a5euygYBgPbo5Xm2ZDZQXMfWIZUV4AutczmPAQ+M6BhubK8umaJHuY6rIt658LQn0qL+1arj4X; 24:GB+f8NtkmxnMOa28uZcl42z2QxzY+5xEY3nzgKLAcyfW3ymNv6AR4dGzqICEpEtZok2vQCdW6INBRYXRakGq0Py9iTHjuy7l2DlK6t/YqTo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2038; 7:FbGhN6bcKOo0a0/N5EYzkcJw84fkBgVO9bA+RR0UiN+jaZg4RW5YVVXyMvGLvfkMFEBt+61/Y+WeHNhNW18Gn05ZKVHqkohC0BsJ14wUpi4VsyY0BpgpRk3p6wgLuc3Fd77QxpWvWbuAxIwD8Dxqi1bjgYsb6BDiA+2yA6mX7lzOduIDxhBHdWAwml+kJYGYwAGlwoHGo0cSj7YVyQHI5Ne/wmG2etLZnAfmzAoIMtX29X2Y+i7QqpdP7DOZn5lhmvYZnQJo1kYtXJXskH7jwNXhR1CIulEWXZBPbxiSkesEefQOSWtS/qsHlvfnB4cldC4IoLduuNjt81oI2ce970gv0PjBmcW9wCQMnIxKOr85ZxOSqm1UpfjdmLu2H7Dexon0+6LhVEBx4HZntG8HHxztQEvZQxR0ywC7mAmJ3oxARHw66ml6imWrEnmzRUnCQ/Hkkr7oQlgiCmLV2CMZo+ULGjKITrEniN1OOetGMBNgR2k407LwNlZ9UeLiId+ZR9CX+eYOCFQCpZhp7ckFko1+TJw2src3aEzUBK2/jhWe/CyYIvyt6oHpWU9BQYs/GItm7nkOlm7e4qu//kBXIGGYBAwwr0C45L5Evi2yNeC+xIKvM5YiXXMiLJUm43NbTwuAyzQd+aRQka5/Pu64NfmqiQYQBpBT4Km6jjfpEcSP668tCeTrUEPqD5l96I6V+CUArZmuoch9YX50d365eoNGl38QYzUMB7whU5m7UdUZmD+o8VO4s9xSuLeipT/W6FUQz45R9oB4dScgMtwY/R7BYbb7Eg3swKyAHnmwp+Q= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2017 18:12:40.6006 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0501MB2038 Subject: [dpdk-dev] [PATCH v3 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Acked-by: Nelio Laranjeiro --- drivers/net/mlx5/mlx5_rxtx.c | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c index 43db06ad8..66593679f 100644 --- a/drivers/net/mlx5/mlx5_rxtx.c +++ b/drivers/net/mlx5/mlx5_rxtx.c @@ -264,6 +264,9 @@ 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]; + struct rte_mempool *pool = NULL; + unsigned int blk_n = 0; do { volatile struct mlx5_cqe *tmp; @@ -296,21 +299,33 @@ 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 (likely(m->pool == pool)) { + free[blk_n++] = m; + } else { + if (likely(pool != NULL)) + rte_mempool_put_bulk(pool, + (void *)free, + blk_n); + free[0] = m; + pool = m->pool; + blk_n = 1; + } + } + } + if (blk_n) + rte_mempool_put_bulk(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. */