From patchwork Mon Mar 20 11:38:44 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 740955 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 3vmv9J4Mccz9s2x for ; Mon, 20 Mar 2017 22:39:00 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 4FC12B22; Mon, 20 Mar 2017 11:38:58 +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 22A24A6E for ; Mon, 20 Mar 2017 11:38:57 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0059.outbound.protection.outlook.com [104.47.34.59]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 5B5DA193 for ; Mon, 20 Mar 2017 11:38:56 +0000 (UTC) Received: from BN6PR03CA0038.namprd03.prod.outlook.com (10.175.124.24) by BN3PR03MB2260.namprd03.prod.outlook.com (10.166.74.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Mon, 20 Mar 2017 11:38:54 +0000 Received: from BL2FFO11OLC007.protection.gbl (2a01:111:f400:7c09::147) by BN6PR03CA0038.outlook.office365.com (2603:10b6:404:10c::24) 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:38:53 +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 BL2FFO11OLC007.mail.protection.outlook.com (10.173.160.142) 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:38:53 +0000 Received: from bf-netperf1.idc ([10.232.134.28]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v2KBcpjN006694 for ; Mon, 20 Mar 2017 04:38:52 -0700 From: Hemant Agrawal To: Date: Mon, 20 Mar 2017 17:08:44 +0530 Message-ID: <1490009924-29839-1-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 1.9.1 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131344835338689488; (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)(39410400002)(39400400002)(39860400002)(39450400003)(39380400002)(39850400002)(39840400002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(9170700003)(38730400002)(6666003)(110136004)(104016004)(50986999)(53936002)(8676002)(2351001)(105606002)(81166006)(47776003)(5660300001)(33646002)(86362001)(6916009)(36756003)(2906002)(8936002)(77096006)(356003)(50466002)(305945005)(189998001)(85426001)(48376002)(50226002)(5003940100001)(106466001)(21314002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR03MB2260; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovr; MX:1; A:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11OLC007; 1:LwdNhUpldSMlgZQMGgCGdrE+J4fZg/32j6jZcY/5qPSOz+3VvF0jZU+pDDahQu3ByBLG31MyB667A4IE5y9zqVtdFeqUgRo+WaiEfbDbRQCax+7N9cvS9JCMgcbQH2zTEesSja8+IVyhspw5ugYXOJfk4q1QV4XG6LVRCxnubWmYjPhQ6mVv4ltMxMKLoida2lDLnMYm3z8KYBJLurAuYP6l/wMfD8GJDFp6e6uKiucLoZV8BU3LAFqViVHat+GyvepWAmNuw/ObwbRHZ6XODlJctkmyFK89M+BuqsZeZnTvRDz/3SKmyVtLCvI11mhs70BhGNiNWHNxMaR/JI5dTqQuYinB36Uo8TOFCulcmtrvFuaHvKQ2g9pVK4fzR6jZDeVkOzN/ahM0uxC99RLu1eVcUoL3IJi8YH2uMNw6LnTdqp0k1D6du+e/5uMm5pPSCQ/G1zGLkIy2uTC53Tfgd74BVqKY1IdkMnsknJExHnhVZlZ8E3e18ogvPt4sfdZqHKCWiduSGkTSz6AaDcEFwMfN/bhQv9ZFHkcFh9ZMYplJY4ppCTnzBPQIrJQU3pyv MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: bf3d91d2-6872-49b9-dbd0-08d46f85afe8 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BN3PR03MB2260; X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2260; 3:VmARSPQKJ3c4q2bk+vMlpYMLhKfKH8f0GoL852cnyLvY+NNwXSpB2D8eIe9BbvlzEbi1VbuOt+PREQoGbCSRkZFeFLRuY1h/AHyV3ozOP9H6KMB9yXV9qOPbish7exhCJpplBNC8FgIngosEZBezFIvb359o9xSfvDuw3XGgUZi0A6NPoOUFCDs0SD3+a8a+vcZGP5NQp6JDiMVUE9nb03jeP+rUj5ffGpLFR+OwwKlABt2UG0oCPMFpLDIfKP11ckhR+Y8FzeNRfndg2gyG4pXMYF9aYuL5wNdTi9daGgnutTPmfIGiMB6O/DKcl1PAmpOemcpoRdA+bljQeMbH5Nx3zVqqDpyimy+/A93uRRW26ITzF7b03zUtX9Gukmkm; 25:SulGO9+IO7yqvcKSsy1Ncvf+8vbxLrcwE4uU2jMpie+amjErGhoDjAmKHmFTufeEZZx3avZdO17TH5GiyK317/F11bsmRgbBPUJje/RR35Yg9YJ1I+TVh4Zi+okVJELXTfk9rwnQM1QZk6Lgt0OrXDOh55pmhVsK9Q7tUEyEAQKPrg/+zKqK8froEChgBBSG/mtn6Q1O5nGxbOBkIC6ZzpXnBPjHCTK7WQuTqGLE7Vnp3qzynBrb4xtDu5BTEpUP9Mjydid9P3fKprwiBK8b+2Ip8rTsmEmTnyBzAJb058Kev91JUOXENDYi6DULoVkYhufr9wQLJmHD/xP1VO4apti1to2euvWtYwbYByXwma4uDVpQIjwkgwBsLYqKcd2odG10wkiQ88MfV4c6qEu5rFq5ngBV0fmYQ5L0c42NV06/9XXM7WHKZC1/6iOEjHnXNamAqO242iYmYE00BfYWmw== X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2260; 31:h5csyOAT+0UURuKZPJSizPtDjD7eJ/hHwh7tqC5q37mQPUOQLDls1pd/NjP65m5hP9VCHakPpMtiLDPVWtn6YBdBQGVoiOKzQ7N/si55xedyopdp/01Iun9AYNOgPy62IICoD4sn4XwIt5bEBrMW1vj7tPJd5S9wC6Bl5xrgpY7OKAIp0QIv+z44UErFaDs43JtjM3fkHytz7tU4IzzMNNoXRoLK9XX6p7n334Sz7E0sI6eltFAdU7GZCb+Kq9pFylk7AMPFVe5E3jd/fMWfrqIDzFzc733KrJM1BeYWUOw= 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)(8121501046)(13015025)(5005006)(13023025)(13024025)(13017025)(10201501046)(3002001)(6055026)(6096035)(20161123563025)(20161123559025)(20161123561025)(20161123556025)(20161123565025); SRVR:BN3PR03MB2260; BCL:0; PCL:0; RULEID:(400006); SRVR:BN3PR03MB2260; X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2260; 4:EghEhaXlivf8TFNUX8cYLJaRCZLUqeDFsNdXOi8ySqeluWZoa6ecCMGCEDJuk11SOxi4R/h9rDyTyGRVFd6m4eszq28oVhzfM5ZvTxSQqE0FDGmZXStIijltUp5RyX3B7HYNDvT+bAdAC8Ayy9+AIG1vOzCCaaPs3piPGUb6kRlyfjiUq2CiiQkmBIbhqG74YiERC/mK8NknMfEqv/ghVUsmQxP9uOQ/FBV47tnrWlSAGDs1gAvzeRrjd+dHokIto1ruc7TIu5Jph6MaLL0i8F2Omc2JT2St3qIFYu5VClR4wLpGxxdaCrZiV3J/9Tsmjr+p4Cj+FUL6TrT0vSh9mUTbT1HQKf3/iO0iHzdvpIU0vJ/XHd6GVOVhIIF88ou13BlfToYttA4PGZOkUyfSLldp2nl/WYW4yC/eb7eq4U1i221hnMZIEAPPhWNXztB1SNakrieW+zDUMmVc+F60CCa/euuVRQcwK020B6+7vSKhSVcP4OLv7+Frkiglnpe10Xa404sBHB0y1c1KeAj0zplbo6vLGX0YePJfs0epDJhAkjP3vg1cp7sgN1cLaGtRsVNoN6MX4U0X8pzD+HC9AYmyUVZnueBcpMiTsdnn49AX8Wc1YTNDrUYLOklOJ2YYOFIRyOKlShVO0reaXyUu2h/+ItA6OGH3pzF7AOtzRaAr4H2N34JMiQvEvlwqQBKj51TUk6XSbAhadno3aGkvEWiYZOSWUuprbzxuwnBCP+SPKtcZpFCvu1teUjGyHJfV X-Forefront-PRVS: 02524402D6 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR03MB2260; 23:SpqeH4cZwEVRILCDx/pRBTlvj0YVtwRjJkVpErw2g?= =?us-ascii?Q?7McUUoDqft+NNV7K7fiyTTmuY6dt4zPfnhhm3+/ZMvwq4LxMrJKYUNiRDjdv?= =?us-ascii?Q?bdq9b+WlJp9pMU6V7PZd52AvHSqiPsokrergPk6+/tOMgLfWdo2KohLCpbrM?= =?us-ascii?Q?LFAc4Hrl05iBDZn8HOdnqxcBsRcHGMAo3LKlmnKhpzDlAhoPYkNHHnNM4XU4?= =?us-ascii?Q?USRJjuTNU8CWSdr9erlHxniQHbOo2BDKNRMBiFIbFryZQVzsTkavlTcxa1rk?= =?us-ascii?Q?R99oQq8gD40cQOdozcalHMrgvZetoMFXTPWMp9PIs/UtzI9luxG2OaMoVMwQ?= =?us-ascii?Q?YH+2PF1gXJ1E6mi5FhW958gsg7O5PHDYq/9ecR44YrX1vyuC8kT5LLKgPVLr?= =?us-ascii?Q?IuaKu414QDup3dmJ34s8U6tgEWgZY/wE1RpoMIqSof0kgTrmorUCqt/sEAdI?= =?us-ascii?Q?Hxck5pLtzEeaATyFFUHVTBfnylWVeAdcGx8/8uzbfl58g4eCatalMfMFtF9T?= =?us-ascii?Q?BkiedK5s30dJtEH1D2ONbhYemwsc4OJ5tjS0Hy1UwsHiyoHhPQc99NiAt3Bi?= =?us-ascii?Q?rX3u+GGqP7L7UMJaFN3KgToJHyxJ3Tzo7jfTlmjYylRFE/cd8QMTzZQBuv2Q?= =?us-ascii?Q?U+mKFCzrIN41kYANGetZNaXMMN3pZfY2q6qMyPEJk//pRFqSYnL+W8R1fbzq?= =?us-ascii?Q?ic2lNxK7Kf2X49dCaPlbyBVwULlhFm0LstfSwXcCY909Emyl/bX522BPimhd?= =?us-ascii?Q?KqKKNIoXTAGtahoOwSlatzxpgFp9V+aoht75vxNvLg42ipSZqp1PhpESfdO3?= =?us-ascii?Q?CHHbHgAA96wAz8fNVWwFphjN0PYwzpTq62v6DO4EWK3pnp6Ym00KTBqKZlbw?= =?us-ascii?Q?mVbsui2egV7Fu9IKj00FlmtPmWYPG2b9cwRXwqePiKb3FJp95FXSH2tBh+Rc?= =?us-ascii?Q?4S6hNc1j8ATwwTUY2LOAi1fiZ/bFfdUEGjWHRhjlSekdls/8VYqlfmh4DO5v?= =?us-ascii?Q?3zlgRG7WBf7xbTDXxQnZF+ZPHuYnDOF9e552PAnjr1RezL0fB9WHVjCtQZTT?= =?us-ascii?Q?oTHoAt+h68r53Dos8X0Q0WXIZ1C69JiYg4fJ07it8n6p7+ZmaYkA5ESInTem?= =?us-ascii?Q?td4kcWl7rmQSfH77M/soydpzuCgW19D?= X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2260; 6:ImGjLU1Db1xI9VIE3W7dhrsJ+zDa/vUoEDB5iBqqqU7nTVPbo7qH6mwdwHLmBxdaZiFAdHhHeMYOAm0buhnz9IntoQxo65PXNwRy8rEawCxwC/M5Mdg0YPMHhwEBhjpUZEUjIBRUh4jDj1qwcp+Diuil679lps0kiwR9NZhekzlsv+5PmlCZgqekeOccwdjGf+ZrWk9dy2IxGjI4wfgNFcMKl2PdYon6SX1v9xdlcVaRs93niGgLNQSqxI7tAj7voqfSECHcOfbz7D4Z6HvbzeMR8mVx8xZ75Z038RA0aRmzOU2YlBZ60C1bmZjnJQTHzLQGmEB8YujpZR9U1GxLD+f2GyOh0xz4php+5DVHQIJ7JCYoZRlF4bDx+XCpUipHP3nEBfeXpYPXvQV1i9WBL5q8jCeNM0kIUfEfFws27XA=; 5:S1Ytq01IqYW4gyxLECfTUn/XGh/wCZdfmt1QBPUui8nmakToZiFnYy83nySJXqvgDn0aPo7n7uZktazfMzDj6Dy/I4DHQ6Rn6UYpskzqFZXcu1OBKyBv9854w1qNgAlvvcqNfH/lKurX+TL5Z44t/VbI9Racb4bSDweYvJIsS+EcvD9ad4+iYeVo5jqYV05A; 24:qJm9DSxsYfU6az7EplZBGwO+TCiq6yeayDdnWZfis3Af7MUkr8Z2rsSox/jfPJKWFA2etFNeqTcPCnCfc25qkpdgvvNkAgy/EKRnPKFyNpM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2260; 7:c3ihLOeRv+YSlDescf3MmbA4l7gFrEnIaBeprqUCPcFDu1v/tgKF/R8LgcIim6WGsT2OAmK/kp6u9u47faEGsfLQx2f19OPIuoPnHwqHThMM6GX4y4BSY8WiLXDCCJEcgTIxR1iCsLblw/bqrueXCfA9qEYrm6e0ZYoaM+fSNWicDdeGP2XYNXHlj+E2aEFf6YFkBPziT5juue1PYP6oH7qQPxLbmFZGbY9DUykvalFnToEUOGrcnVx6SWuPXkP4qtqfzYG0NllMvE5rvDZBm9+2xGpVmjaoc0olLG+ReWtqHsEU2hjz6486VRSi2jVLb18klpnTM3fBhtL2NZp7ag== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2017 11:38:53.6973 (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: BN3PR03MB2260 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] [branch-2.6] 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 --- lib/netdev-dpdk.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 9203de0..8d658ff 100644 --- a/lib/netdev-dpdk.c +++ b/lib/netdev-dpdk.c @@ -468,7 +468,6 @@ dpdk_mp_get(int socket_id, int mtu) OVS_REQUIRES(dpdk_mutex) struct dpdk_mp *dmp = NULL; char mp_name[RTE_MEMPOOL_NAMESIZE]; unsigned mp_size; - struct rte_pktmbuf_pool_private mbp_priv; LIST_FOR_EACH (dmp, list_node, &dpdk_mp_list) { if (dmp->socket_id == socket_id && dmp->mtu == mtu) { @@ -481,9 +480,6 @@ dpdk_mp_get(int socket_id, int mtu) OVS_REQUIRES(dpdk_mutex) 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 change @@ -500,13 +496,13 @@ dpdk_mp_get(int socket_id, int mtu) OVS_REQUIRES(dpdk_mutex) dmp->mtu, dmp->socket_id, mp_size) < 0) { goto fail; } - - 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); } while (!dmp->mp && rte_errno == ENOMEM && (mp_size /= 2) >= MIN_NB_MBUF); if (dmp->mp == NULL) { @@ -514,6 +510,8 @@ dpdk_mp_get(int socket_id, int mtu) OVS_REQUIRES(dpdk_mutex) } else { VLOG_DBG("Allocated \"%s\" mempool with %u mbufs", mp_name, mp_size ); } + /* pktmbuf only prepare the rte_mbuf, prepare the ovs bufs */ + rte_mempool_obj_iter(dmp->mp, ovs_rte_pktmbuf_init, NULL); ovs_list_push_back(&dpdk_mp_list, &dmp->list_node); return dmp;