From patchwork Thu Mar 23 08:35:33 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 742555 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 3vpfyh27tyz9s03 for ; Thu, 23 Mar 2017 19:35:54 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 3DA29BC7; Thu, 23 Mar 2017 08:35:51 +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 E4428BC6 for ; Thu, 23 Mar 2017 08:35:49 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0053.outbound.protection.outlook.com [104.47.38.53]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 16EAD12A for ; Thu, 23 Mar 2017 08:35:49 +0000 (UTC) Received: from BN3PR03CA0066.namprd03.prod.outlook.com (10.167.1.154) by SN2PR03MB2272.namprd03.prod.outlook.com (10.166.210.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.961.17; Thu, 23 Mar 2017 08:35:47 +0000 Received: from BN1AFFO11FD016.protection.gbl (2a01:111:f400:7c10::176) by BN3PR03CA0066.outlook.office365.com (2a01:111:e400:7a4d::26) 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; Thu, 23 Mar 2017 08:35:47 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; vmware.com; dkim=none (message not signed) header.d=none; vmware.com; 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 BN1AFFO11FD016.mail.protection.outlook.com (10.58.52.76) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.977.7 via Frontend Transport; Thu, 23 Mar 2017 08:35:47 +0000 Received: from bf-netperf1.idc ([10.232.134.28]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v2N8ZisF015454; Thu, 23 Mar 2017 01:35:45 -0700 From: Hemant Agrawal To: , , , Date: Thu, 23 Mar 2017 14:05:33 +0530 Message-ID: <1490258133-1008-1-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1490009924-29839-1-git-send-email-hemant.agrawal@nxp.com> References: <1490009924-29839-1-git-send-email-hemant.agrawal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131347317474337374; (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)(39850400002)(39400400002)(39380400002)(39410400002)(39840400002)(39860400002)(39450400003)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(9170700003)(5660300001)(50986999)(8676002)(50466002)(36756003)(5003940100001)(189998001)(104016004)(2950100002)(81166006)(2906002)(76176999)(105606002)(53936002)(106466001)(6666003)(86362001)(356003)(48376002)(305945005)(33646002)(47776003)(77096006)(85426001)(38730400002)(8936002)(50226002)(2201001)(21314002); DIR:OUT; SFP:1101; SCL:1; SRVR:SN2PR03MB2272; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; MX:1; A:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD016; 1:BVXYywWgBdR4EK8MGvbNOMtCBjOLcX+VVM5zZ8fN+W2G8/9gde0oaeI6HDBp1HGrd0Og8gv8qBTbTk9ZIG9VA8eEtWWr60oeg/Jab4qDgrfos0xewjMps6gEVJF6WcmAPWzhz6zC/b5bET3sNeO7B/YzpQatgegAnZLM2xlh4q9asY1UwiDDHHXxv2QJWCD36H/8trl6oHYaoeQc4N4CUZWcdAMJOLDJpz7EqP7iycN1SZhbZ4GWnEWr+Lj7Fv9TZqMazdJh+Os16wxaKIPgDL4GVSBNPYp0tQDhb9LmL6H8o71L4Vm5SEPjpbUwRezsNzFinQ9DZIGMTBvDvfgUM1dWZE+0AmAeKPxB+J99ZgP2bbRS9rytPwdeDGFZnrbHKJKSMzjEbDJ9cM3Gms2RByP+MGFTx4+jscocgD5WcJam247fQgP+24pfM/Vi0pHh6xyDnH2venUw+hE+VjTsN7iGmRGbaT8PXhRzg1CE/bawM8TMTNGp3D8hTSA6ACJi9AVMDX4DUKOB3yW7TuK0kSFNVohfqo6t0hLUH+SRf4sKws2YmzGMHJDOf/xUL61H1CDu502XASmLPrUZiejR5ZNZzaF4TfLqRAPWMMJITeYF21Gdort+0IHpgJxHGZADrpsqn92IVn2R+ou3TDSduQ== MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: dbe1b245-e2cd-4fa1-cf10-08d471c79a97 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:SN2PR03MB2272; X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2272; 3:tTbZ75lmwMKzV2WsOSumfHtmENvS14wcRcawngf26hJ0vwaIHRCZOpGuDsOT1+/qrUDqHzDPCiV0WEeQwiSqGfBI0mIcXRbNaaHRJqMT8LX2i2jfh2kXt5hs4cCDGxRY28E5NVHzxoy+aEJjuelSx+TfaKd3DmmK7ivcFzImBTKCZhfAFiHK3QhHdQMMSEi4VTra8pqA3apRHuI7yuhwqJuIwl8WqsXir3AfUUgAXUPkTLSwHXmZfCBjTHt445pMVTOckmOOiq+tBR9vNhppTMf6efHdd9iWhJQXCBpFhUP+Gr9TTU0RKoLV162NxZl3O5QE49M2hvj0KXkBrajVESGSsOi6yW8so2Qxm0nxPgvh26ajeBGKRyLoXHbVbnA8; 25:lKM2hBzduLmno5oGL4tbfFJrPmRrRE3Hb/ZujGbLR8dyjI/HqwFZWyItfve+TJXN21KbRZgra0IPZFTyCsf1G4zZKKzFG5tUD/+66fhwyB7ZeoN9gpOR1mR30r1xeB8M9OKkBRosCHRPRCiIfQhGWIsqrYT0+AexVF8ZLrzX8jjgFKp8tWIQe8m3fj/jv2T57TlrVXYFcvLSLjBx6JYQDNpEVoeYO605hxTTAPkGBejWxo0wYClkoUjqXnswzihAkoX50dcoPX+l8ngD2VRkLnuxuKoScVEL5fRARi249e5ipVXttwrfa02BnfuDTsAholYpbu6X3SS3iY6T5xP3HA/+Tx/v8Zf6LrOOnhhHEqDeDkLAlKuTI6Gtp9xsp/KNc82zan6YqQDg9mubKhQLuChqVNaJLHPu05XfZwjWSMgCJu9i5KzbEqz8LGV8Sjyjl55QWvODmCmJfqoa0+RVkg== X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2272; 31:rGcHgzckEH/LepzrFV1uow/urzk3oKXkVqzir6++sU3olWNe2pi100s8mKlQb3szrtxSb0exJyFrCxNTUazkoyg5KRPy9h3JUGPyBGwZgeFT954G4f9RyKxXVDgkvikqtmKWljs/bEOKXC8+35nlIzXqafi0B3Ff2Bwf5gmXTc9i9jhcZdpJnJ4teh7o85GuQiHPG+eLFKmvRrA2x4EJ96BgxpfFAcF3+5bI5b35EBLeNeb6aTlhHwuo0upW5EcQ/6k3p3DntAnAk6nSiN58aEi6wii+cTtqYXPEPCNd9hI= 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)(13018025)(13024025)(13015025)(13023025)(8121501046)(13017025)(5005006)(10201501046)(3002001)(6055026)(6096035)(20161123565025)(20161123556025)(20161123563025)(20161123559025)(20161123561025); SRVR:SN2PR03MB2272; BCL:0; PCL:0; RULEID:(400006); SRVR:SN2PR03MB2272; X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2272; 4:LcLtilCTFH99vaSvZHGE2F+VR/BsRovq3dI1L1IK16bI4/E4AZWj8NHObpGVZrgykPlu2zseu/QBX6uzyBPBHd/Xqr/h+P/zBJ8+ewspm6qZSDn1UcVysrXgndBUAWes9o5bi5rMpJOF9xDPH1GKLuIMCj6muTWTBkwcotK52aGV8iVlRimc/b8CcyY5/vZj4Ct1t+CQe8ICchWKinPhV6sITw6WQ8h+wkBa4ogJnSYE9fp6an++ySIWa4SaHCtd6LobP1uu7R81Tv1uSVA0gmE9TQanc0IZncGWwK4WPTiBRCb7nr1QFvw4X7Yf5s0U6rexg8JdlrAmvD69nVxVYVQAnW+iz+Pj4moGCQlOvviDbcfO8Vjt73eQnZWmP9M+q/ccy0savIJ9MdAOWaPMyY3KyuA6oN0wmY5MBaw5pbtj1wfe4vefnrL/Q2HiTm5JvksII2CC0p9i8l8EdtF7/mzQTdIUQw3czcpFDl6+4PRJLHM3GvPAzu634ZhnSmV9D+Up5q7jv0z7/+dPycNABs1ae5PVHi2GiDlsaudc2QtDyrQnbrmPBAHftoB1Pmx4/LqN+LdyZP+xHLBMEkh6uC7uG2LWsVmDdGAw7ie3CBCkFzCrtmvlEhgwRWstSB0KyfaD+DwDnnmH7VTr3YyC2lbdBoZNNZduxiNZHQpfcL1Nqf0QP4nG9uRRwQ+5Yy7BT7cRlrlb8dUvJ8asRBmzmYOps2gWq2csIbQvYtcSizR2uGsKGPBONYLyrUX0Gy0N X-Forefront-PRVS: 0255DF69B9 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN2PR03MB2272; 23:B4P27QLzZOxqskpsZzxufGU4zhmHa8JFm1nt1ZCio?= =?us-ascii?Q?LuNxvRWu/Cc7Bnd9N+WOECxulPZMo0iEfw8i0cSNHtpZjR/ae+JpDuNhtntm?= =?us-ascii?Q?h2pUIPR9Bp+kJjPYz33duTKHIwN0mlELyPN3rJmH2jQb2CeQE6lHQTtJdmNz?= =?us-ascii?Q?2iO8Pn0UVUz29f3kPatOxVX6snk/F75gHgpwI+fGmQTLXNKYHC4CMSEguHrn?= =?us-ascii?Q?/qtKL1hdFBgkVB55lD/GukW71JmMVHYaOOSN09z3SapH3B30/VSBsnBIEpH5?= =?us-ascii?Q?r+ef/7QU2eD6zCJQJFlgAupqLPT2hp6r+1DT+MiNKoBPM6vXKt4eBXKOPbgm?= =?us-ascii?Q?1afgam5GXXRzd2XwNRvX8h2fMZN2zWdn5ngitYvOLmJjDEkR556qKBp92L/+?= =?us-ascii?Q?FGbsVPZmbOiJoUKGlXFmfdXc533OF29M1tAYiOqWSg9Xs4qu+vomrvC8EJkF?= =?us-ascii?Q?Bvuv3fmSnlOx3yRY2m6ffdwQDqAaLckc2qW14RJVD2MKasVCGkcDT36jT31b?= =?us-ascii?Q?lUeIz6XnyD+W7O/NdAzK0VmN41ex1JHM90QUJxpdJeqj3/pRzK0vcpVdBI5J?= =?us-ascii?Q?yn4/gpcbEKniL4kUC5KrMrLiKtIvPlx9L0B41+5VhKEk3ousSWjDpXpeLXJE?= =?us-ascii?Q?5HxYHqc+vI97LYjaV1vPg/ByMUf3CB+R5RWLogNVkgEIrWFdYpM3wEH+8l3s?= =?us-ascii?Q?gJ+Rh2IkfZ77elbbNhDXqTKwz2BfhRiUvWWlH4yq1iwyzLoFj8ZNeOPMt+yC?= =?us-ascii?Q?r011WHF0rm03c7uvxPVH9sjmSnJY1sT40Qa8Spu0WkGfobwpiR6TnXINR4Mh?= =?us-ascii?Q?MF94UMffeyryMqVfyHM24IkRkzrDab+bqAHfNxm3DdIwr8pm/5/NBecWI9RU?= =?us-ascii?Q?nfUu+djF9AdZdWAaTfPuUmyh9ox20WDqhDzAsK6SXR8r1DHdgZ3paSwoZF3W?= =?us-ascii?Q?gY+YCN8WVtCWF4TgVK2RUQoMBIubUBBJt1K4PTDUWa3BV2Y8KaqAhYLSWJvt?= =?us-ascii?Q?d2hGz9BP5ynyXioNVS+Addmm7dbts3tM2vhg+T5ty33Dpr7ZCr1p/zmU6++I?= =?us-ascii?Q?81G9nLOBOyWVRo93mJwoUZ+qVOduZw4bJchmvmGUJkY33QYBcCyDRD93SLJ7?= =?us-ascii?Q?AAsAJ4gCCjGahOvEVm42b/SKMprSm69?= X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2272; 6:+f1sZtHQXdjmhKs5Vu4QwQAmmxaQjPI8vcbXDDlGk7dOglk4PEgMieLymZy0X73qYbZz2yQ3L2HuEPJdfK9VC4gk3ODAUCF3XVgDt1cAOFUgNb30vHdpj5PPeWH84XcIfuHPPztwH5P0hJ1v1U4XJi3e1q+vznmghgsbt3Ehzm24w0vqiO8CyYMvZLN14FLURQpMfkcfyXvSiGsEeFP5fOQUF/wPIHlJEz5xqN9s6nO5UtrGFbgyA6g7chycLtb0U9rQ4scgtZSRiKXgYxAvuXs59cQRTeTbEKlT4nkRrc47tgmbZQv2vnQA2Yh+hlR8bgxsHDofKDJIlW53s2TZs8PhED4gGbpd9o9oudK8ppu20Bzf4VmCTvNLgqNFBLohmKJC1m97bKnYngtWtmjN+W+xxFqX+ort5qYm0RbJiiU=; 5:zfL7LXQDNbNNq76VztH/W11kFIBQFzfg0eQfjI1Toel9R+eTNhomic1AHD+NAuAKk/2UO2LQmKQtjsd7WlqftsQ9pQypExShN/SWPLTwvpdhvUWUsIIFx31AuuUxT8Onym46eXxgTYgHLgaU9yaTQE18S9Cem72DA3fqqWivwYY695oIEet2fQCZW4LZxbcr; 24:oDiR1ipDiFEH5STDSLM0vcQq3WlA7jzuKWQMi5oq3taMZcGkxgpH7dga6RHRWGggwdRVx3gkMSnp0BilzCdpdNnwN6ut/M6RCMs4r51ceHg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2272; 7:VdZqaZkVgOpCANpibYBmqr6MaabNMDJtMshvV8Y0IgJemaZUdJgIkJb8WGXlIkGylSUre//p7V80gjp9rJ+nz3Ft0KJaufW+fiS7GAAFCvzB8NIoA/iBFTBdEv2vRomcWVq82U0PXEbUQUTOfvUo3s9dn+OEZTyVTfbcIFomt6YzfBSidfeU/JOaWlHgK1vbYFzsunTm6hdx+kzWIaGuFtNO5ktXjDPblSJs//2yeUkCglAQipEMukJLkMQ7aqq13B0H0xHvooa12PKzOyaHnezXknZ+j1reW4GeIzd30jPMGtWCm8aigIqjHZ8GiLHGUts062p+gS93mTd/eku1yA== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2017 08:35:47.0281 (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: SN2PR03MB2272 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 v2] 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 --- v2: * removing rte_pktmbuf_init as per review comment lib/netdev-dpdk.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index ddc651b..80bb1ff 100644 --- a/lib/netdev-dpdk.c +++ b/lib/netdev-dpdk.c @@ -458,15 +458,12 @@ ovs_rte_pktmbuf_init(struct rte_mempool *mp, { struct rte_mbuf *pkt = _p; - rte_pktmbuf_init(mp, opaque_arg, _p, i); - dp_packet_init_dpdk((struct dp_packet *) pkt, pkt->buf_len); } 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 +475,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 +490,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);