From patchwork Mon Mar 20 11:59:18 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 740985 X-Patchwork-Delegate: dlu998@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3vmvd35hynz9s3w for ; Mon, 20 Mar 2017 22:59:35 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 6D0449BA; Mon, 20 Mar 2017 11:59:32 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id EF3AF95E for ; Mon, 20 Mar 2017 11:59:30 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0051.outbound.protection.outlook.com [104.47.36.51]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 448EE127 for ; Mon, 20 Mar 2017 11:59:30 +0000 (UTC) Received: from BN3PR0301CA0039.namprd03.prod.outlook.com (10.160.180.177) by SN2PR03MB2270.namprd03.prod.outlook.com (10.166.210.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.961.17; Mon, 20 Mar 2017 11:59:28 +0000 Received: from BN1BFFO11FD034.protection.gbl (2a01:111:f400:7c10::1:177) by BN3PR0301CA0039.outlook.office365.com (2a01:111:e400:4000::49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.977.11 via Frontend Transport; Mon, 20 Mar 2017 11:59:28 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; openvswitch.org; dkim=none (message not signed) header.d=none; openvswitch.org; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1BFFO11FD034.mail.protection.outlook.com (10.58.144.97) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.977.7 via Frontend Transport; Mon, 20 Mar 2017 11:59:28 +0000 Received: from bf-netperf1.idc ([10.232.134.28]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v2KBxQVG028057 for ; Mon, 20 Mar 2017 04:59:27 -0700 From: Hemant Agrawal To: Date: Mon, 20 Mar 2017 17:29:18 +0530 Message-ID: <1490011158-10484-1-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 1.9.1 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131344847682625873; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(39400400002)(39410400002)(39450400003)(39850400002)(39380400002)(39860400002)(39840400002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(9170700003)(8676002)(305945005)(33646002)(106466001)(8936002)(110136004)(53936002)(6666003)(356003)(85426001)(81166006)(50226002)(6916009)(189998001)(2906002)(5003940100001)(104016004)(48376002)(2351001)(575784001)(50986999)(86362001)(47776003)(38730400002)(5660300001)(77096006)(105606002)(50466002)(36756003)(21314002); DIR:OUT; SFP:1101; SCL:1; SRVR:SN2PR03MB2270; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovr; MX:1; A:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD034; 1:IOEknLIg+zJxifDP2mSnwDt6P3zA0wGtf0bPUNCOQmSNgM3kbyJ1sxxka61k6WeFp199gXQKlATIDM7lWer18M+82sWxuWjzwRgKsknrLGCZdm9gdrhpZUzN0GEgcs/ePXReEEdZRJpNvAV40unu+zcI+tODiK3dhOXPFykSAwR9wAfnvMNQxjRk9mg4R4FguAUKqVMp5gUCg94/PuE+kVbvwE6dNYn28UcDgB1BFD35Fg97gDMY2WJBd3FVjmraTfoU5yhnnpVQURkE+KDgzybJXMcAP7/6LM3IJa7Ug1VCmkuYSNsZsoYNrhGex2DElTqKLz1Gpqeq4mXc1cm9EbNBuZzGVmjJn10e4RO5Th/RlnBS9MIr+U5TpkP2lSq8v1gzMq0l43jDai25CVp/dQgyXf8rt8SnZXe8OACTw4wAlEJhLe6TFcYh+yCkEMWiQlpE1hhoOsdjCBDcPmXaMhfakH/OmWpp6rA7tYcamQhtf4CZGyUDGsp7ALb/j5D0HRnz+9wkPgBCjA5FFmjl+868b8Uq0c83eCPvARIM4hvM+VeKviLtct8GcXyi8Zsg MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: d4916df6-9476-4f47-6151-08d46f888faa X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:SN2PR03MB2270; X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2270; 3:manRuoO/WOZWQml13xp8rp3fsPIz+yGaruvuiWWWv1P/M5IPfV1dJ4RbBJikmNj1XeM3+wZPLoNVNdYAaqUkl/jFqaFIu7s6dP5lO72Vd8c9ZsSHfKXHB/v3vHiH+X6tb01o47MYizBoZcvBJdGsI+3L+bPF9XW9tNwryYJExNwS5ipBOyuLoH72TNg+mPKCnUKpMEetFDBIhYrlpEfx5fulxT7FIf+dwi7bLIjfyyTEGN40TBQxm37Ij1Br0ua31h+Zji9EpV37Lty2ACGuoW9JTawA4XANyprvMBspZzuL9ydvzNqxHyb3ns2hZEjmPR/2t6/1WMGzdhXZfcZfY4TfS2RssFvfjClCIV6baPV6LSb6AZkcfC3hQC/1yXfD; 25:OxVOcE3+3x7Jq2HGBWDOMt8DQfAw0JjDbHZU2GfTmMYGEiI4oH311BIeUueyNLrbuoJNTWy0b+nEUPjQUAd7QbYu+T9eudj3ABqMKZ8nbo4QuPGb2ylZxNu2DAbVILUKOSBCwwM6lf8lzKneoFEKBGQfuR2tbMc+U2Ni99uFclQ4VxHIFmiEeqIzpvFhWTGNmjooI6ba+Eg9Op51hCtIiN+Q86xe6oANnjQ7TYK8vmUI9YHGQN154M5etRzBhVNpdckvlYS/fUjvhtmLmaSDHDQAMffv7M6mugXuDikQtqERwoxsQ8INyAkFo++tQZitk75Ti49ugeIChSGnf0aFuUiTY6cjAoAbBvJD7mJm2r0a6f9DDZRLcBLYtbul3kl7hSy6ETmjg6C7WU288j1wOgthgju/vAzx5egHt2liU8NWOJ2qrsdtVWT3zIGPYPnIynn3sOadHT3UJ9ji0UdzWA== X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2270; 31:uLfTPKJbkZBnYdKAnzwcpA8Q0kM9cG1/CdlRocE3TJhI5ATtGlY5leHxX1NCBDciFUwj5lr9mzruvXn/QpWEcvXPwc7nteiRpmjRXlN8vJk1ekYgp6OtwSXt04urdkhttcX2K/Cdcwx9GTRK5N9Zvh3A8vyqR0gAH+GWUfZ96GPLUcRxQzIxIZbTPrNCfJWcIq35+m3D3tod6MpnQK6zwheOvSYZasK4zsB3YIr906KJ65/Lx7GwawrJQXteouPXTS27B8t0MHiSTzOXu19tyQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095060)(601004)(2401047)(13024025)(8121501046)(13015025)(13017025)(13018025)(13023025)(5005006)(3002001)(10201501046)(6055026)(6096035)(20161123565025)(20161123561025)(20161123559025)(20161123563025)(20161123556025); SRVR:SN2PR03MB2270; BCL:0; PCL:0; RULEID:(400006); SRVR:SN2PR03MB2270; X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2270; 4:gBV4/FkUp5/961UKE5NI0aQOgLintUCVcGM0lBZmzqBo6RF1INzxKjwsDEw1TSgz0tTq99oKAjn7JsZTEmuLVAi5OGwVsfndqHjyzoC0IgFdRbkvo6MDWFPNZ5hkCI96tguM3VCE/YbojPsuVLXw1SqihO7K2oCvxusJ1yfseo0PGL2lH/GlQh/ekHuYEwAeBUOlYPCGw9zRtrQtC+Z28RxKx2w2wvBxfPhlVu25XMlCD2Cngbece2rkC23z+pi9vs8La6YEzwmWRA9GXA4xA1HktfbFGuA28Nw7+PcpgWcHj1YrbvH+/Bj6+stss9PhogDCgIhj/X7VnZPIEnJTk5/OpIDxUWutBcGHazwGajRtGTX144wt9PKXmbOiZbuxxYh8GZ5qxkds0krWlmf5e4rB7CoCMfY+dhrCeZfvapM/bF9AWmid18W+ddCF4k/DGSsABzENcGzMXI+fcVVK1gGjMTh7xqDYPKX/TsZM6NwtYRnlh+olvq7xbNF+DlsSs1LiBFgXoWgdPcXcg308VA8NJ9kaBjQDzkMT2MYq+S1fxsr5/PxwRjy5bTYnnD17AoLo15w7vhobidkIWUvUWigXsyROTxUTid8qFni4e6glCmuv3UjqKERR2+O/LNnwwvsDbA5CoWgcOdnkXzpWnMa73/i/UQCHQ7NviwNaEkqRwBu0ro8LYyb/tD5rNwclzflsnJly5y1gFtc2QCz80IE0uZMfX4dX8AmDLPrwZu0fDjtR0hMoa9Db/2ZLA4pi X-Forefront-PRVS: 02524402D6 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN2PR03MB2270; 23:z91kpzdkaA7BreZO97vcSOy5dX/NCuTjeQ/ORklhM?= =?us-ascii?Q?bdnp4lRTpLB0VAI/9kZPAvgdFk9IstZEtbKr1z3LHDr1sDSsi7F8gDP1fbsq?= =?us-ascii?Q?Y9Soxon61ATHV4/psgvdsnRNrzoMgRL5u0OkbYZ+x1XnLk1QnY0ntQsYAxyb?= =?us-ascii?Q?F7dycGSCwYF4Sm0sqYFOLQRCJiMyRYQl5ZSx43D2WHbSAqn0r0bsY8kayMJx?= =?us-ascii?Q?w4A6BWcrmosMBp4dUTbQF0VP1DNoKlgwwx5XJBTPpipRXUhGNZd3gzaG6TkH?= =?us-ascii?Q?p8U5whPj+c/XbbjD6+Al/vGXZYInMkVkYqjvoSVxUIoHlSIe1YKKfyFD6p4B?= =?us-ascii?Q?k4zCLcYBs9ZibxtRhCSrBgLAsCCHiGdbBsNuNunbEJjseMcR3OfVigSCB+KO?= =?us-ascii?Q?thD5dzeZarbwfZAmUysmAMtprqcyCl/Ph1vTTEsyjotjT0iuUm8WaoiqSTCS?= =?us-ascii?Q?xhhbq8ootqzo54wVAprGOfyHC8LRForJ9IqUZDUJdF6q7H2w0O6wymfHYDRo?= =?us-ascii?Q?2kKz1Vv3C0qsk/Xku897neSDlrVqUuC2BJcsbbEwxwekHWDQSNc68ycfMLpM?= =?us-ascii?Q?P2ycFm4WtR3GjEqogpGIFwfNiRI/u9zXGu4IpBz+ID9fbGMJaaR1N74KO+0s?= =?us-ascii?Q?cDLrFwPfmh86GXC+pYGPhmH71Qz7HEu7GRyoZ9dTxG8wH+RfWE9G8qL7n9JO?= =?us-ascii?Q?7yzvHd65BsZjRbeMtEZ+vCnw78bd5tEFh3+hbZoyR2ktgcH2ZTsG+j5yQtjv?= =?us-ascii?Q?FjMXZo0OXq+NmXeBlD0V/ocx/Re4CIRnyNoGawIvQYQrDo5/J5hBGDxt9R/U?= =?us-ascii?Q?b1GMG+Eafi9m1j6cI9LvjgNdS6DjH/bPOWA+WQaygbI96j4Yxf8HY9KzXyk5?= =?us-ascii?Q?vYs91G+JlFcDGNj9cePpfcGgXScWDt776BKuzbyQSVIe8E6jX66fF0pFJqqE?= =?us-ascii?Q?pBKe6dwiGqfBxIaLjgQetqyw4/15i3wNFfQFxIwt+ZtJ8SzRvFyPDffrXrVB?= =?us-ascii?Q?yMKb0o0k+FhqZ0DlQse6l2oP0TlvvMdmPYlAv788y28L0Guey2RUjQU73QGY?= =?us-ascii?Q?AkBHLbeCxPudf/WZVA6lK9cQNbri+wFDeJMqkKiHCCPCKTJ/qXEPaL8ZbvVL?= =?us-ascii?Q?Lw8zq4ScUASZ9Mqn9NRVxWJMFyXJ60u6zWCT5qlUDeRwJGEjhi8Xg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2270; 6:v1hrlRntfii9Du1EZQqiHddzAgMenQweK9hsfApd78t2bTJvF63enaO2BpMjlspH52I7cDY57v9kF/4ezk8Di7Ekani5DhOqxR2i/GCXKVS7xbtlaRQFsqoBUWRSHj9928UCYTGTl9roMO5c8lzVmxfCTQm20kA6PRCvp2qJOuF3XfZX3ziRTkE44J1A6ZlVUwSW59DNTbATdyGQ70nK0gciSHq0iAHHWRXYlfpfLBeBJDdWinG3mtq7sm9yjS1Gg04SgkebXVJxilbuhFZwnYh347fV6CUh976SuqWrznmHdgOW3MTl40ZEpl+5GVI92ubf3I0zt9C7qzNbardo1vDfnrcmUvUZ1sC7sL/s5/5E1haDmEQ6xF0/i2j73k2KMWjzWVnH6Ug70md3V37Lo/ivw4l3rJByrv1kAlQhFDQ=; 5:r+QWRt1dzhLywc48gsz6Ue2Uw9JnRv3kN727VCOU9lo/0wkQNn3a1zlrD1dLkPBnCVxStE0Xr6kHE4c9biVb1aWvMYQwHKKhYZ9RT32h0Zmy1m+kv6Ap/CoPQQPbBNp3mtV6wLpMq3TD0cjbjxgwa8PDLDEGC12AGfhqJD3NcZ66v42EXPQGFI+Qex+hdzOR; 24:DlvhTs4M3ZNbuFjEQClO1FaOGVOAhSdWDC7KNixLpKfMRkLcicTHMeA32T60sqbdfbQ62ddHbXHfLRblsaJ7JkSCN4mx8NuztHKUEDkhk3k= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2270; 7:q7h2+Xwx73VCGCiLW6NgJ/o6FE08An9jmVnI9cE2GcrWZWt+lTyJaorbpK8M20pimFBuCjONcpDwYJB4s0IELrN1zUVcmJoZSkHW/r+CZkDyYxIWeNGmNh1tFySRmmFvhfw+whgGmMOn72pzlMwCxtdP3Xt467I7YEfXW95iwm5ryrxvXYT4ShVakW7htfA8QPjIejtjIcxPeSkhyYelWsnT5E/6DDemGXPxA5MB9kMTUzKZI/doIqq1pFoAjZnM/MZ0JfyhRfTpmsPcMK6Uk4JCfD23I3RlyBnc4Hq2G48H1KQM/eg4veYly77MQv32HYUfXOgeezf1KMKlD2vfuQ== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2017 11:59:28.0753 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR03MB2270 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: [ovs-dev] [PATCH] netdev-dpdk: leverage the mempool offload support X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org DPDK 16.07 introduced the support for mempool offload support. rte_pktmbuf_pool_create is the recommended method for creating pktmbuf pools. Buffer pools created with rte_mempool_create may not get offloaded to the underlying offloaded mempools. This patch, changes the rte_mempool_create to use helper wrapper "rte_pktmbuf_pool_create" provided by dpdk, so that it can leverage offloaded mempools. Signed-off-by: Hemant Agrawal --- branch-2.6 and master are different, so different patches are submitted. lib/netdev-dpdk.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index ddc651b..5d0d762 100644 --- a/lib/netdev-dpdk.c +++ b/lib/netdev-dpdk.c @@ -466,7 +466,6 @@ ovs_rte_pktmbuf_init(struct rte_mempool *mp, static struct dpdk_mp * dpdk_mp_create(int socket_id, int mtu) { - struct rte_pktmbuf_pool_private mbp_priv; struct dpdk_mp *dmp; unsigned mp_size; char *mp_name; @@ -478,9 +477,6 @@ dpdk_mp_create(int socket_id, int mtu) dmp->socket_id = socket_id; dmp->mtu = mtu; dmp->refcount = 1; - mbp_priv.mbuf_data_room_size = MBUF_SIZE(mtu) - sizeof(struct dp_packet); - mbp_priv.mbuf_priv_size = sizeof(struct dp_packet) - - sizeof(struct rte_mbuf); /* XXX: this is a really rough method of provisioning memory. * It's impossible to determine what the exact memory requirements are * when the number of ports and rxqs that utilize a particular mempool can @@ -496,18 +492,21 @@ dpdk_mp_create(int socket_id, int mtu) mp_name = xasprintf("ovs_mp_%d_%d_%u", dmp->mtu, dmp->socket_id, mp_size); - dmp->mp = rte_mempool_create(mp_name, mp_size, MBUF_SIZE(mtu), - MP_CACHE_SZ, - sizeof(struct rte_pktmbuf_pool_private), - rte_pktmbuf_pool_init, &mbp_priv, - ovs_rte_pktmbuf_init, NULL, - socket_id, 0); + dmp->mp = rte_pktmbuf_pool_create(mp_name, mp_size, + MP_CACHE_SZ, + sizeof (struct dp_packet) + - sizeof (struct rte_mbuf), + MBUF_SIZE(mtu) + - sizeof(struct dp_packet), + socket_id); if (dmp->mp) { VLOG_DBG("Allocated \"%s\" mempool with %u mbufs", mp_name, mp_size); } free(mp_name); if (dmp->mp) { + /* pktmbuf only prepare the rte_mbuf, prepare the ovs bufs */ + rte_mempool_obj_iter(dmp->mp, ovs_rte_pktmbuf_init, NULL); return dmp; } } while (rte_errno == ENOMEM && (mp_size /= 2) >= MIN_NB_MBUF);