From patchwork Thu Jul 6 18:41:09 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yongseok Koh X-Patchwork-Id: 26559 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 2864158EC; Thu, 6 Jul 2017 20:41:38 +0200 (CEST) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20041.outbound.protection.outlook.com [40.107.2.41]) by dpdk.org (Postfix) with ESMTP id 15221271 for ; Thu, 6 Jul 2017 20:41:30 +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=cR0O3z2xOjSbnn44Y8belkYPJNPhz81Rj7lE6X6Yfn8=; b=v4kAkssnwPLXROAiphK+B/JQ0Hsqk4ql/5yRei5PKPAfb8QB18GRUuEHs4qOYkfhohFgwF9HFPoIFVaZie306ftV9EhePM5DQCGEEVYzXYKzqx8UQnDNHjjJic4IWChGigwz9MoJbjfYGLFNHNul1evvxiA0/HtoKva5VwoKb7s= 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 DB6PR0501MB2039.eurprd05.prod.outlook.com (2603:10a6:4:6::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1240.13; Thu, 6 Jul 2017 18:41:27 +0000 From: Yongseok Koh To: ferruh.yigit@intel.com Cc: dev@dpdk.org, adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com, Yongseok Koh Date: Thu, 6 Jul 2017 11:41:09 -0700 Message-Id: <1760d02622c861598b6d244e4e317e1b0e95459c.1499366233.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: BN6PR08CA0055.namprd08.prod.outlook.com (2603:10b6:404:b9::17) To DB6PR0501MB2039.eurprd05.prod.outlook.com (2603:10a6:4:6::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a27ee066-1475-4bf4-2e6c-08d4c49e9d57 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:DB6PR0501MB2039; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2039; 3:cGX4n2klBJ1kujk53orHfouj4H0d9/J+CdfOMPXYb/6NU0Cov0RiKhRp+gMQCNc5AK3urwZdTht66eDYt+NjMZpPpYPxAa/e2NLrCmqGoWEfWRK6gfa5Z3RnvfT07/Yoa91TEQ7jxP9lXvNeRcp04w/aK47QJPrEHtyXohVEoGfhbv8QSXp4HE+c6onqwOStTGO2XMLVL5qmvGztFc2qW0PCNaWO9MeMJzT4/z8Q59/htWkEsUEJ+UqMzlAc/F+6gQotIp/95QCVpQVeQ1Uf7FB0FjIwwvEIisHpvav5Ov7zIa0QN1TzcBMYmw2gG3MAyFysVjh9aQ6iXlhKvdVGRkh+aL9kLseslgim6HyjVj7glAN6u7LtX8if9V9x+45r/fkofYTgRQY+i8t7FLS0qD8vhC65n+Q2LR63ESf72v7HmpeGsvfFYsVuz6sgl5JcSwuTUA7T9TZdhGdwvurkIvulOra1fovLF2D9NwiiLQkyThCiGXdONZNk06YzKO+aXNN6RjdFV/frvLRjhrQQhwMLjoV+3WecDZY9TuU+rmJu42+1tFiqY01So2DjRincgkzKS3cu78RD3ZtsT6XcaVNJ4ba5arOWar6JJ0uQ7r28EKB6kyre4exJ/YURpfcox3oxurluXTPyWX8IMsKISuGVLpxLvcVe4U4P/ly1/EYgSuO2kmCDsMC8gS3S/qSMbVspq0MgqKHU5W3gWK1bInWOycSADjNhiyyIfuc3ywqvju1chE6N84/R3JdToGKDLuE2A4zcLXrq2Ddy5ZAY3A== X-MS-TrafficTypeDiagnostic: DB6PR0501MB2039: X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2039; 25:V7I+8fx9L54SKct2Dfb6DavX9c3ccBaKoha43A6FMikPiLS1z9pc57nXhro9lf5jJDtt+pJcN8B5LFDSWOo/kQHOZh/nvnTrKOVO9YgXyQ7UJCkR2jrNGhwZaQkxLNV062w+qyXTM1iBBcua/0Sc30UAKoCETKeFqyQqmqLqSQFjnQRC2TWOjXOJ9+s1DW6Innxaxqab4eEirxAQqxBX5r9AQQJP8MGgTFZqcLykn08cHRATGPyvfMXcdyQRjDUJVWZRyqNB9nGXIk3ZERItiBMwsWtm0Bwq1AbH2gso352lGqBN3Pf2xltvC95ka2uX0fa2xFnnSn20oi1m4WBZYuMB+3NzPYSN9Sk+bi6GTEaMh1iWJP25zPQ74L70Mz0XCnu54lBBwvitRFQKuJzNoOVkk/w9QracPHvHtnavoBzrPV+gCsve2Pi6Ja/7HURv2prvvPH/8DURurhgYiKvP9hkvh8kihbKEul1P44h7KkRNPtQ734iRGQ0EAtVt7Mzt956Sd6eL3SaqFsK9l0BQIp93l3cRqkL0euUdV0lc+7hAEqLx4riH1QH/yLnONjbjJKsZV0JnRQWxadeIzCqoOaPrndZW7dZMTEp+WWVAKa7nqbY90DKVZkHZlyIhjxQBgTA4af2yv64AmXe3G1w84RWLvMWhfgbbccZ65u92bQtobips+K90LTxcjO8wGETZvQw9/DnVnU6WSYiMTsQY9tN5c5EDcsPfnlpNvNRQ9FOjgOqxt6RB3dM5kVxWINHfzXhV+3tmmFa7N/YWMQiLuklHu0FtRkKfhZlDSbiHsIb8RHGN0F5cjJPoy7YvMPBopRVYqAcUAc77LKhhGO8ylGHC2q98Ql/AaomJB7H2BUUwDa/SALUWNlsZg4HXjKdogXUYq30wOvmRFgE8mGYifEn/jdRW5cvF6lSnAHuXw0= X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2039; 31:RQKbCuWMN6+3amY2X0aQsla5VZQIAZiWj46vHh+veaICNoe2Iz9XaVbu1BcvR2Oed6PTVuRMR2Ng8+CSWN4Et/rbLT+FBlEMYlcMxmATHPnzEbz6iGiwzL89U1cld5a/l7z7vPSM/IwFqLryjtn6VeU5OCFwbMacdwody3vb2Izo2vpctgYVu+uyosNK7RFmQV41Qd0yb1a9CXYlWzU2yiQmxeiOh2aNV6GH3SE9gBYXsDsGOehfnaKympKR91OEAPyV5h3SwT7FCIOhzn3QX3H+zHT2itPi99V4DS68MqzgBmNVt02CZsloQsA4979bizBO2V9dmbEbYZl+IJ5QF2dhWP82uCtfpfVxzuINZw0jnksvZ8f5c1n8/8zuehu5OSJ3eTmzdA1mjLNFy1TO2e7atxRecKVule9H1bUxoSHmNMYtAEhy9zx3gKm81Mz12qbhQhnxEe8TcG3Jp4CeRsDA0FiLNa9b4AcTdWmYRZ0Ws/a0lUcpF90mmDK27ARmq7nv+20YrHJBMmBEOCBhQnfMZsa9FXP7mYLMwP4uT+/kWUk9AqrResohicpGt60ZAQbbpyX8Dy1nOeIQY+qfxoXNXykJBrRtI1GmfpO4QANqmKlLvRbdYMCPdoUnOAR8g0XNq3EgG1i9gZakZS1frB35LGrIoi99RlhDNpE4nVZusCqu2VhyUkEZZongsGIlgLCwaOBq0lH6LHNlQvS28A== X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2039; 20:Ih7Vq2JNixpRGct7t99RXJq+CLKr9D2cvj/AnYnl01iWs+wjQ3lCJtnRa6Nir6klIDCQwb/3LAxmgyAlYutaWjfTp9g6xNDx0sNa01LQ9VpjMyAg1NjD8DGDEZZleuxytbm1S8gX/mwqE1Xfsvf/piCNnLjmGx67amlKo/ViqZZvX9+BFlodHmnmutYxDENSrkbk9Mb/YSrKLBn2sJbX6rzfzq35t3mSiTpc3fbD5B1Asl5I4FdP6KYU2BYpOw8wd6HgMMKni0AYI1aQoeuqgiFsn7DK34Ic7qolzTMMzhuV+7hfdavcgRtXfZHCKCkN7yIrBwhyFXLqykXbhI3hVJZuAuvTeMkOjb6b2nB6jItocQUtc3Cm7d/3CNdvexzPqD2Fjh1YdY3ETIB/KOAssTpv2tmR1HDnKsunVfT6GGTlMh4tfriVHswfyrhzPhKzPQiV5n25SLCGoeGSp+u3TzRFeWzhroluZTEoJXCW7+L+Fuwj+19JitYAk5NeQn1K X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(788757137089)(167848164394848)(247924648384137); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(2017060910051)(8121501046)(3002001)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(6055026)(6041248)(20161123555025)(20161123562025)(20161123564025)(20161123560025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DB6PR0501MB2039; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DB6PR0501MB2039; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0501MB2039; 4:jCFcC6yn/JYMfM+sW1Vft3XxkCsu2Yc+R31xUBhe?= etEqyhzgCC5168EURY7Y4MA4BnrdcjRDobupISUZGE0J0vvzba8wpYInsSTJ2CPiPMl4X18aXBJHKHXqiMnxegOlY2SoNrkg3EgN424FX6+eYVCwtKJnOvFL8a3CSaud1btir9ZSpKsOMszGrSk9+0CDobfyKHbBfrNnzYsDg1DiIc6m78yqwA2ZbO0JzBStguR9C1Dd6h2vyKF7OHf/RbjDmsfdc70rkwXUF8KXns0Boyo1onsFwbhuCfhffLAOPTuzgQkiMIWMW1krve1vaNIfV329vBOCpcwCMOfWAinA/HVrwIRDM6Y1Y50oqrs/1JFTPLJsodsfL9BXAPpki7XT7qWAwWfO7k60sxWefB70LUa100VrY847Oc+KPmnrFb9L9/ZSYAGMPvvP0jWhuEqbXFxLCS4PLfydKfsp2V+mVu9s/MvjFR2fXubtH0IkM3OvyxGhOONoGdcDopTmA85GNIiSZaScHhZQUAjmJJE2hvDiftGJiey0avCPZ5ilRmfEuKztdb7ZNcfhinI0awT/vAYUhPiBYlLiCYBbWC+8dCxeaFJ4/3jNrMJjJQC3jN4+/OSNHSVj06fOsEDiI1J70J+KyLcwpWZuAVjUo0Wxj9luddfqhBEofd/dXJdtuJW64TUcmgIaIELl7y0pqkUP/M7TLCeZa2SsT1KuBMvVlUhGjmJTYH97a5cyRjwryiirHjBS8iNkgUamEfXq2qOkc+6fZwEpVb+fF8oETSodMOh1OtEySwW25EogYa0NAuzXc+4BhBF8IiX9ozgeDhVRs0uYyd2dzWtqeuQ7/NAexAII+ym7r0QWHt7Y0LXWOOtT4qPcewWwqz90cL/4L7uRz413ws+teOA7hN9AchUTbSITSIrSf8HMSYbq1Wl///C7/VIqrEXUI3hf7y1bIW9JlByJkO+Julq6bixQ4SBdiJnS6RhcACosNewhbHZiWRbwEJywok7pgNirXoHKNQ40UIMPNrzIaA+AD2fKbDKAQFU++u/h9IMC7BM6PzCwtE19WJEGxwYAL/cATc75I4+xSYjGVYV7gUQMXz+Qyo36bsaYEHGEmaKxnY2yzsDNv53WqjT/FCFxfgCn/DVgBz2DvnhK55Dpt2IFccVpwNns7OhHVEQ9GCWJDWAo7o6yu4bet7XSm66lxAfrYHJnFBkJfqpJu9/sc83jUPehiUlAqHnGUkGpVAVeGFq+cwlKO5dv8W+Jw1M/kGOtXpWIasb1KLZpob0KCoDsNMkRBWNwtEPK8kQa/9M+Ahu+JpbRBgw/8hTiFhM7QgoBm8vj2EWB X-Forefront-PRVS: 03607C04F0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39860400002)(39450400003)(39840400002)(39400400002)(39410400002)(39850400002)(5660300001)(3846002)(6116002)(2351001)(189998001)(81166006)(2361001)(2906002)(48376002)(76176999)(50986999)(50466002)(305945005)(7736002)(5003940100001)(478600001)(25786009)(8676002)(33646002)(86362001)(118296001)(42186005)(47776003)(50226002)(4326008)(38730400002)(53936002)(2950100002)(6666003)(36756003)(66066001)(107886003)(55016002)(110136004)(6916009); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0501MB2039; H:mellanox.com; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0501MB2039; 23:yqEQzYHVuIRyzifYagMDorCMpldlMGIR+mEQMlB?= FOOMVPMnGwpTXJukI/71Sb3cu7+q47kql5kiQVlp7hhqZNpR8igKGuSaiaStOYu/5aKkTBx3GVMWqnhPjEORGMDMqBVWofAa/KnJzQeKm69pabJGSyzY/6JF4yTk+lDeOPAaiu5magyJmbHxKZGfZPZFDQGhGYnngk2t4eMe0D+9juZrIWQooRlWR+QsH5SDQ/N8crmEDm+aEUHrzbSJLQbXUlw59SDPbciv9CkHTjYrKC89/vRwmMRwfGRlqwoLb/PBTCH9b8rNEkS30zDswb6tyoovGFbcId5QUn9UWXcTOfZFY/cGuU8I6HpMqNuv8yMzgamNZu+Z9y+1hpFRwnSdzk4OE/i0ivVP1KJpucF2V+siF8BQDhIJowzXZpwtZn5lB2wJXEmuDUTOo3uc0VCIprnhW8pjaIgcGosi4w8A788cHsgp/x1Qy4KUgyO/9aZInGDv9UYo8MAlymBeXEsmCKVggYMSGDTEGBMy9WC84R6FC+JT2yeCN5//6MbErIec4UgzrDSurQ40vW2ImTqHkapos55Caq0tNPY5MUwGSROXwnnCQ9KjdrAO6Mg3v7K10qtDd3qPmT/mzq8ytSqoojkE6eJ9RuF3Xr6/MnqfoeWOl4RLNrFoKh18XNzJohVhnWzVVwLdT9zpE09gdj94427Q2tDRx0q0pWNb7PcTX/vKVX2qJMr2NRWgiLh/13FMSzt5AbhMKDH46rVoa+5rdgJ9OX9Idj33Zx23dK+iL2TRC30K8Oeu584vdoTlHSOBCqqLjFtl3DxlK1D9udLasVJw3v5JHetzpHWS0FHahYSwKM6R9HFnes3JYlB1dHUo7k+aNpNHd0tadJV+UOQ5n5G10OXKj7kFAx40ozAhJ70AEd+RwbibKJZx/eVefIqn5v+bq4bjlFLXT4crIc3U9lHdhawEBQSaEwnZ+qrcNzdUcFIHYDPekGoUrRdCQWJtTI+tUMt+qiC1BCEVYN8dxI1Ge7/E/gLGS5BoMa3UbraLirMDsHZ9Cv3nXIEHkd4WdfpyayT8PttFxp5aZDhnOpmWbDVYXWRjGAh1U8T2FMw== X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0501MB2039; 6:Nhgv/NLTUwqhMTjs2Q+xdfbZ71q0NO2Q4kw7Kj40?= 1+YCgFYcAZItqy0OAF4yY+Kxom2bAbb+8PHqBRgrOXuOq9BVKKGqrWA7oB/a8P4ILbHeKdwbWANZXSPbsb0GMwfagkcOAoi6cgOEYz7uKshVr2xkoIiAJM2zlXO4haV5dhJU4EXoR3AChim5EMkg5kY6BCQfp/SAd6ciXQ1jvrNhz2FH4rUVdB9mrBHB7gYbiaKeXeRPaxCjRroncatvT9+o6Bh9IfURe3BzCequJG+uUP3ElZ5pANkTbCLgz12EKm0LgA5yxZKw5DCMW7DDWtJxVPUtzboMHTk8rJrTBsJ45xH4KJk49uBkrDomRUU2ieGD6UTWxglQhFySK5AHdJ1QJOyAiEcV08O26/2WPA7LxMXaNm0RYhdJOJAIVAZdRmvvRE8xCGfYYsOe3ZYuIubtF33oZp3zfgwDR0gTaJmu/o/yzNmcfYZTs//tzN4bi5Nh7soBbwnjsjXTy0y8sLHZPAjxnAv+yi/GMfL9u8caeXbpOkbIzKt9gs0NqbKjLhqQ/pCQttMAPg4O8tveLdVSFy6Mj05a0IXe+EvfBTSHCAuLDDRBPzyfLCLo87iaDjnKQRAqQ7isyOyfYHluTq8MJDomTpGm62aJf9rGOCFzZ9Fb4mQmQcCzehlIzQlWDbPmJnFGiXx6mzZcuPRDVZHIpAUuW58jDS0LzWlLrqrmNcTxCEklwn4gQzRtbW4nRHRBCIqOnSqdaA9oBbvp6eHkiLLuLoaMFWKWmv7WPBdu+EMlVTIXKsTou4+WmS8vygpQ3CD60L6HPTjfjQbpM5+OKxXrkUmZvTx/uqfTznUwqDciaJQ+OBHJ43j1fc1ULAAZwE2qAOwsQwSKMvR2N/8OPkXJxi8N46J1TDbnn4bfKE2LGkUgInAfn9XTkKRPactoIYnfuk4AdXPs2YryM2DrwW04aOIbFAn2k62P0k2pINrkFs/AKSW0a6Ql6Yzrh/UaGHlFRg3vZDU563VJ8tzz X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2039; 5:FDym0S5RqnT7PlV4T0b+1RiR41Gni95GyTDlN2e2FwPK3J0AErwb7GQOuK9/EoFTcvqfzLkaxrJ6fDbz+c3ozdLbtwv5hBOCMI6iyVTpf4paXVFUNouepuTr12bU6Ds6wytzWD/n/OoI3MRvyMmjQ+JTLC83AYM5ZEDN2tOqvKJW5BPB+Ccwbnd957WfyqESLxZcOUyG7ke/wrPQoz+I6Aa/eA3skIcsFYNwYLXmkw2Qz8jszTTdvVn1yVTjLKTgTq1sVlBOjpKX0aKXJ1PfZXgEwDW+o+jgSGK99pwbWoSHOaUBWnyirCXvLUv3nn2HC19nADwGO44k4Uxaj9kGRxoWs2VfLuVC+Y9d/kL0aNZm/A74mgQmm6tE64+AC7XQRUDlDpL4/D3BcMaGh07UKBzmE+WS8FG+oNkHT6wFOYFIRtpiUm8HyS8dax/GmZT6a5YjyWc5pq2DjhLul/KEWm5nkSpjQt38AKpawO8GFICrWSmZW4C0WtXAvv+THrl5; 24:/G03GXfJB45Av7D0f68dcA7ewaiDKPLA890+0aAv35c5qxMcLQm5a4JXZHl5RiQWMAYKFJXtx3hEIq7CLjRNY9oYU1b6v3K5Ns07q5XY2oA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2039; 7:lHzfJgnDBMpRTEv8xuoYBHHfH+6j4bxy7vYBeeS+S1Xd64sroF7oNi6sNGzFIG1I0myPMqM/1kx+v4HrzBOWKt8ZT267PTGBEqWTnzEWkw6ynrHm523N8ci12GVOxYvtd1q6fQxSLn9Csw3IQuvx6IHcazBFy+IqltEWHH6Epk2gC1wIJSXET1MnOg52yiWVpEIncY2HlvXjoqBjK8+iByq+C4ox6zqLV0nl0P9lx8a+jYPv7sl+I1AyR7zpptE8VKt6dmN6JDaaH6r875GdNX1W3ulHrVrw6/TnOjKCk7RRA5F34AT5YHG+Xi2uezDBz6ASC+l4AaNzAH0DqX9KEv7mDmhkwrwvW3w3n2QxAaGbarlbH0u8SfThquM1uF1tJJWqnuVPoxiOYEUrSqh5RyADEZNXoQKORHvsBuNhli9SXD5qnbAuKx2YUaTv6LxDGNOi8I/eP5NG3QCJIIs9BtYQnKH46AnE79oJOSg8jFqjGRpN2YRzlZ1WUqt+rsgf+d/xHrER+wJ7nXMrTSqSCr/7pBh8SEuq9n9OlbD6/sT8NPQMl8wvIi6SLjtTVtQCApMqeVEz7li+WkZTkXDSvamPjJJ0H5WFburwG+hGCx4PotfWmYNPdhGoToDfxan77kaArA3hwaIjfLBLw/v7py+BS2QVXa2mlnFvk+tWl/LjgXp1ulBsNgPE80nOEKY4VRQPHQX0OPMbwcXF5kcP9em7gCoUE3kZ03tyJyeCjTZJlDvV3fXzZqZY7r5rgMZNHEw84s3agdV9r29JUk5EOMJcI6jBsMMgPotCK5PWaTI= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2017 18:41:27.8601 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0501MB2039 Subject: [dpdk-dev] [PATCH v4 4/5] net/mlx5: select Rx/Tx callbacks when starting device 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" The callbacks are global to a device but the seletion is made every queue configuration, which is redundant. Signed-off-by: Yongseok Koh Acked-by: Nelio Laranjeiro --- drivers/net/mlx5/mlx5_ethdev.c | 23 +++++++++++------------ drivers/net/mlx5/mlx5_rxq.c | 2 -- drivers/net/mlx5/mlx5_trigger.c | 3 +++ drivers/net/mlx5/mlx5_txq.c | 2 -- 4 files changed, 14 insertions(+), 16 deletions(-) diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c index 039335e2e..54c4c6cae 100644 --- a/drivers/net/mlx5/mlx5_ethdev.c +++ b/drivers/net/mlx5/mlx5_ethdev.c @@ -923,8 +923,6 @@ mlx5_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu) struct priv *priv = dev->data->dev_private; int ret = 0; unsigned int i; - uint16_t (*rx_func)(void *, struct rte_mbuf **, uint16_t) = - mlx5_rx_burst; unsigned int max_frame_len; int rehash; int restart = priv->started; @@ -944,7 +942,7 @@ mlx5_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu) /* Temporarily replace RX handler with a fake one, assuming it has not * been copied elsewhere. */ dev->rx_pkt_burst = removed_rx_burst; - /* Make sure everyone has left mlx5_rx_burst() and uses + /* Make sure everyone has left dev->rx_pkt_burst() and uses * removed_rx_burst() instead. */ rte_wmb(); usleep(1000); @@ -1018,17 +1016,13 @@ mlx5_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu) /* Double fault, disable RX. */ break; } - /* - * Use a safe RX burst function in case of error, otherwise mimic - * mlx5_dev_start(). - */ + /* Mimic mlx5_dev_start(). */ if (ret) { ERROR("unable to reconfigure RX queues, RX disabled"); - rx_func = removed_rx_burst; } else if (restart && - !rehash && - !priv_create_hash_rxqs(priv) && - !priv_rehash_flows(priv)) { + !rehash && + !priv_create_hash_rxqs(priv) && + !priv_rehash_flows(priv)) { if (dev->data->dev_conf.fdir_conf.mode == RTE_FDIR_MODE_NONE) priv_fdir_enable(priv); priv_dev_interrupt_handler_install(priv, dev); @@ -1036,7 +1030,12 @@ mlx5_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu) priv->mtu = mtu; /* Burst functions can now be called again. */ rte_wmb(); - dev->rx_pkt_burst = rx_func; + /* + * Use a safe RX burst function in case of error, otherwise select RX + * burst function again. + */ + if (!ret) + priv_select_rx_function(priv); out: priv_unlock(priv); assert(ret >= 0); diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c index 22be999e8..98b20eb92 100644 --- a/drivers/net/mlx5/mlx5_rxq.c +++ b/drivers/net/mlx5/mlx5_rxq.c @@ -1226,8 +1226,6 @@ mlx5_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc, DEBUG("%p: adding RX queue %p to list", (void *)dev, (void *)rxq_ctrl); (*priv->rxqs)[idx] = &rxq_ctrl->rxq; - /* Update receive callback. */ - priv_select_rx_function(priv); } priv_unlock(priv); return -ret; diff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c index 40f23da93..595a9e064 100644 --- a/drivers/net/mlx5/mlx5_trigger.c +++ b/drivers/net/mlx5/mlx5_trigger.c @@ -72,6 +72,9 @@ mlx5_dev_start(struct rte_eth_dev *dev) priv_unlock(priv); return 0; } + /* Update Rx/Tx callback. */ + priv_select_tx_function(priv); + priv_select_rx_function(priv); DEBUG("%p: allocating and configuring hash RX queues", (void *)dev); err = priv_create_hash_rxqs(priv); if (!err) diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c index ac9dfc5f0..03e23f58d 100644 --- a/drivers/net/mlx5/mlx5_txq.c +++ b/drivers/net/mlx5/mlx5_txq.c @@ -496,8 +496,6 @@ mlx5_tx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc, DEBUG("%p: adding TX queue %p to list", (void *)dev, (void *)txq_ctrl); (*priv->txqs)[idx] = &txq_ctrl->txq; - /* Update send callback. */ - priv_select_tx_function(priv); } priv_unlock(priv); return -ret;