From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0089.outbound.protection.outlook.com [104.47.33.89]) by dpdk.org (Postfix) with ESMTP id 589EC2BA9 for ; Thu, 22 Sep 2016 15:12:50 +0200 (CEST) Received: from DM2PR03CA0050.namprd03.prod.outlook.com (10.141.96.49) by CY1PR03MB2234.namprd03.prod.outlook.com (10.166.207.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.629.8; Thu, 22 Sep 2016 13:12:49 +0000 Received: from BN1AFFO11FD042.protection.gbl (2a01:111:f400:7c10::108) by DM2PR03CA0050.outlook.office365.com (2a01:111:e400:2428::49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.629.8 via Frontend Transport; Thu, 22 Sep 2016 13:12:49 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; 6wind.com; dkim=none (message not signed) header.d=none;6wind.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 BN1AFFO11FD042.mail.protection.outlook.com (10.58.52.253) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.629.5 via Frontend Transport; Thu, 22 Sep 2016 13:12:46 +0000 Received: from [127.0.0.1] ([10.232.133.65]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u8MDCfIv018194; Thu, 22 Sep 2016 06:12:44 -0700 To: Olivier Matz References: <1473959607-1951-1-git-send-email-hemant.agrawal@nxp.com> <1474044395-11627-1-git-send-email-hemant.agrawal@nxp.com> <1474044395-11627-2-git-send-email-hemant.agrawal@nxp.com> CC: , , From: Hemant Agrawal Message-ID: Date: Thu, 22 Sep 2016 18:42:40 +0530 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131190235682404966; (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)(7916002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(377454003)(24454002)(54356999)(23746002)(65806001)(7126002)(19580405001)(76176999)(5660300001)(7246003)(626004)(19580395003)(15395725005)(2906002)(586003)(65956001)(106466001)(65826007)(11100500001)(64126003)(50986999)(47776003)(230700001)(50466002)(110136003)(68736007)(105606002)(4326007)(77096005)(85426001)(104016004)(31696002)(15975445007)(31686004)(305945005)(2950100001)(83506001)(4001350100001)(7846002)(97736004)(93886004)(8676002)(81166006)(8936002)(81156014)(86362001)(356003)(120886001)(36756003)(33646002)(189998001)(575784001)(87936001)(92566002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR03MB2234; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD042; 1:awxLDJSqK41wZf106GWJzqq/PFq7Oa37H96TO2iyBKP0dDYgoAN49gIPzI3FdNIi6qtD4YShI/XJQj9s+fLZlBc9FeTVMhamVljOmxF3+B0eeYz3zMxWXdwP8DkuBhngLleu06OxJQkMyYthoPXIyc+2a4H4xeHNTy7f9+NOPYmLxaPbmgxIruN6RntGZXRsS4mfSQz9bMm+c81T13b9QxZc1l4UotBJmqyrYNUw+rAaDKvxz1gq6UZUCrB8aSZwCzst+8WUAPhIkaI06DZPThh1rRkmnwvxKvshiJs0QYIOtKsiY8bU+wKVYwER74r5385raHIIhFo0UZVPzwsazc41zCfo84Z+S92sEC72Kznj1iF3k4JoHvMz6O2RykPONa1BccmO56GSSH+4hwz6vb1r7soW0t6S76mtVHkg1UTLb5jiH5sxP66/lRk2PkdjEI8KbkIWONySO0WikNc4QgWxOVqY/KdfkaIF4c5xu4muvL++H8mqJ5IsUzFetObMcL8ThqbgDc7nSjlxagFD2Ug1UugMBDvdoikh5vKkrK4vtOZ4ePhintqbtJ4UAsD3vFDjn/rsMUxs5HyNeWHiDVE9Irsmfi+BYoMAs0NH/kxzKVfXm/XpmMaBRgLVEYAA X-MS-Office365-Filtering-Correlation-Id: 09abbd6a-a11d-4c78-1904-08d3e2ea264e X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2234; 2:KFG7GHh36AMuhixs2xCMM3VOkjIzvzcibsbOULP99WY7MU8RmmU9j2AKXVopad+Zi6s34ZTKB4tnhzF9mocsxiruuSOsJyZHtN1lI329AngdVNuC9tgYvH0Sga6pTGfG3gZzLjx2Y0qPNDlT+M0+lIWA3BFdz/d2Xz0THr5M/tqT8Tc481ZfzrdZGpvXzUju; 3:257+ga9BrF+VMN9v4Q9r8JCP1VD9zNFh16swxTZJKQHFkeWF82obz+dJ+A6KiCCYsWyTAT0hY2fZ7YbfT+SvKtMdRx4LphHTT1XRJHduDKEOm63pNbYBCkh5O9atUNrNs2kE7ecG8uSwYuiwG2gNROTJfotyeyT6XB4oilHpWvdyYHsPGOeVPZYjZU/YnDE0u1bEwt6m2197a3gmNc6DYaEYWhgeMqN9fH4eqW7Oj4k=; 25:Emx/p4OUsQ+mr2IErYQktGYow2nIffebwKD5F0l+NvoV0gNeXkfTDiVebcxnY39t8osEujwVeCdnyDBH4fRoQAWaA0ANsEOtj8rqjQqNiFUZwa6Jc3HG+5DvFLvrEyfvNMWFLvYTYt1o7lff1ZAA6XtI4wki1RJf1RjpDwB+gQLexVIPSy7Pvdy+IyaBbrSOtlr9XlBXbjBwhTWg4uBKDOBLz+d1/kLO70e0KOaHwef9FZSzpNJFrN0TYz9UpWN/43u8SGwPjuP2la6j8QlN11y0tBeaRskBF7ZHMAqpXxOAUyuGxjz0HiSa3YOJMYN++bM1ToJYwmbKkt6F+77asC/BuTB1WGYBV42MTSA1teakFSALEjYYJTyfr5iVzbgt3psZOXsw3SwDM76FKHzKqGJEjEyUfx45JQvkJhIQONI= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB2234; X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2234; 31:eJta+7QxGabosBarUYjnNPdaPIA09hwCvzy1F/xk6FKeJq7PfU5g7T/jutxkVG2hg8JMluWQ29Ngw+P0FvGz4wyDgPUUk1sGaj6+FbblZUEtfc5nEAr2oZjYl6jSksVCZfyYiqkvJFC/NxCtfz4fyDjYoKUEE34jJPPocdtWgE20q/p1jDeVWkN+f1gPAdPH44pWzqICACuatSGFQZ0EvHY4asI55+5gZzOi/5PzQPs=; 4:KTBIINctdw4kxtAE9F3Et6P8eVPkoGIj7t2vlEKInVY0cBM4nxIlvxai2yHB3iPTVyUVahW1pqK/nvap60knCeappsge9fcQ4akQO4xCuwtABuqdam37rnRW+klfF87AEV0W+TwjFEUKXOG8RspcV2hBlWTrQF8Co9LUIvcqAeGN3U7EByFjxt0vajF1TxNnIlt44/T1ng8K0uvIEUBy98eaN7JZn+VfaqoASYhP6gOfgJXTpAqHGyCxCQqbd2NFijuP7OBv7YpgE0H/Uu+UG9WtGiXu3kULPhWjOO/BVfEVCUPHC8gnjdwBWSCai5TgFDuZ4pRTrPKTbglP4KCPwO6E7FUAGyDvnjY0FVlbJAdkL/OSVpk1kCkUXoABMg5Q2aIKW0N5bKTn5LIAmUyNjvJRe58KnGRO04huYCvKbwxHhZqbrR9rRUZr/9nyIsY6iq7jA6rMaKoerOWpQskXhe3kbwnwTKEZYQ5hAr8qLt0dsgJ2d/II23hAQeP0RckXm/XcB+Im6QOQq3Bn5qaRVnSA8Ksiea+lkjfHl41DDVQ= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(13018025)(13024025)(13015025)(13017025)(13023025)(3002001)(10201501046)(6055026); SRVR:CY1PR03MB2234; BCL:0; PCL:0; RULEID:(400006); SRVR:CY1PR03MB2234; X-Forefront-PRVS: 0073BFEF03 X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; CY1PR03MB2234; 23:Y4yuuIwAU8Kjp5yj81sKDx9tEbNWoMmYLYD1U?= =?Windows-1252?Q?c38FK2r/8OxfAtDjRtCy4bAkyhcZnYlvUyGuwa0jhiVHNIevFxFfYlUV?= =?Windows-1252?Q?c2eWLP7MLttX6FbNkgAZKnqOKQSeASv5r7A7GZ+Hq6P8JNVL37/plcwa?= =?Windows-1252?Q?jfnNJ3g00VIpFgnfhQYBagvqu/DTmx0xPviQoIbXjhfZqDPuilhXZUfy?= =?Windows-1252?Q?DVTh3OaabMlaSnXfxcvWseRB4Pjz1yqM0VZeL8u1ra9GaufBB9zDJ1cR?= =?Windows-1252?Q?+jDccFD1toaoL4pKpUpFEuXp1HFVk2QYDqV04FcCSScAEilQ4p7PEHbv?= =?Windows-1252?Q?j2mKPC8bsHySlEUEZZbKTjxaCcbZAiPqoT6h7M+15DSZb1jdaSmKoX7D?= =?Windows-1252?Q?q2j93JaUp4p/FXhIaihArXF3L2MARLr63z/Gnai0V+e5XWs1uQKmfQUX?= =?Windows-1252?Q?9XRYa31HYJyP4WdOnEnSPqi2BEJjKlD+0+Q7Zam+ztH6FiiFaEGcZ9x3?= =?Windows-1252?Q?86abBZPEEXVYywMJp/nki5jPCtG+XFweR4o7gYwKSgBn+M42BoD36X26?= =?Windows-1252?Q?EvAzpfUi02xDoRxIx1nLbnO0untmZgszYRdPFX2z7RFlXkJUo0p3iXj0?= =?Windows-1252?Q?DvAzb53AyNBRkup7hRVdCzZfToPcP2kVIyATTjiQh6XgJ+axai9RCeGr?= =?Windows-1252?Q?mvxLMf6XJcS4dvoGKB8zOnXQ7iFEMHO6VTVQs39Kj6L03CM5w4C+16Gf?= =?Windows-1252?Q?p1PJ5M8MhIly8adswfntpnCTH+uF5K1+mWRf/tooKO8e6vlJzgXFOS5b?= =?Windows-1252?Q?vPe6NNTNj9ZD1apiV7bGNlIhdsYzR4VAB9XYMoVAjP+BCPxunEStbjPx?= =?Windows-1252?Q?VClupa/Bv4+toHTUY3CjztGw3Z6Y2MCQb/NvmazdZy/BO8WnSVyI+jHI?= =?Windows-1252?Q?RzTFb0Yyswp7oFJ8AByrLgP7EIQJmAW+D5iu1cVcfuDkF1lynULMI4Qs?= =?Windows-1252?Q?8a2gCVVAAxZNhnm/pyC3uw9jFewPbZ0C3uGrzjtjyF4BgaSiOIkJuOIz?= =?Windows-1252?Q?LXC5I72PIVqxIf7Vq9OsTEgN2oD80v6nqwzZC1LWJvFpiXqgDL7+ir/N?= =?Windows-1252?Q?Cp8GagqbL2c4WyNVQKOg6m2aAVAaJckFjyv34xCT0oNNYD0Dg9HRtNPx?= =?Windows-1252?Q?fVTZJJmSKh1q2yOWOHAjHA8Hm/Z5a8Gt7h3V8ZlbKmGpu7aai5kdZCEO?= =?Windows-1252?Q?scsVeF7ovX9q3rYrBE3i5w3sS2BEibqNUAVvyLMdw99v5lJBIpye1SgS?= =?Windows-1252?Q?B+JDMJMX0RQ/4MfZhyQWYjuRopOQ7TTueMMLNvfnOoC8B7Ve+fIZBpZY?= =?Windows-1252?Q?yDay9kdz6Qdn9yK7iET+X8g5K0++1cjmzV/bbcCvdlCuKPBgy5I6sSNq?= =?Windows-1252?Q?yBg1sriM+D21gIo02a8mb1+skHUXCG2sqGF+noYRl2ciT1rk+XmQFhKQ?= =?Windows-1252?Q?clw4zgRGtu9eGF+Uc4pm0Nay999b9Y3u+pBq7gnIp4EZWFJIS0pCLBJ0?= =?Windows-1252?Q?mAVGM3uRrhH+uIiY4LAzZ9bPRum9H5fNk4nHWhXsdzOejkjsbNo2tptK?= =?Windows-1252?B?UT09?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2234; 6:QePpqGuzv6YdWooChoARWFjnnO8xEbxpel0cufSXmEVuhSw/OEh+6SXbzGB5BcOtPGWLqyhsWEhRA23zuaQofJgTbyVRPzuwNnc236vtrKR/z58tS+nd5ncurg2/mu+KLVaI8iFULTHAuScYRVJYm0KWXmaoXYImhIqun8/8qGbWGTkGoPpB+rGrFg38W7Muf7tL56WTj9+uZE8fnCSWbYvbUkqgI3KmJ2BHIcs7r+dGaY7b9pKVq30vsl4B2FRFEvc5WfS3EUDZYKA0Zg3dUaawRnon6bc+yKS21i+lsdk=; 5:0w6iDXZeI7S8xq5u/Fq6ykQfZVfVA4Pu4YtAmtjxVWn9qRXDt3rOf8hgRU4+crUG5HIiXKteHUFGrZe8IEnOXf6kQyykS0H/WfUGeI4pYDyfH/PjI4EtKZIt2icRhWsf3A7wak8u6DgiIEpzW6tdMgH070Yh+A+i340uoaUP0xI=; 24:sI1f4MWLTb7PX+IoEXbYpzkT/setlZvj12p5sbEvjm9Fpcv3tVpEbqQkE/w0laUvXEpP9Wlo5Q/hgmykF/Y81XvS1WREMUydEgi+2cWe05s=; 7:Hv/qz5/Kv9g4fB6vHpLh7pWWXZniW1bTvb6+uerKX1ZkQ00XIgQ7jtZnRGfh5HOZ+W+NJSm1ZQpt/Y7eL4ICLQ8R/HKpKlXF/PvBra2v/OXAqhpda0dD4pZRoi5YXjnGpcOvzPFyRbcRku0JAF9BpOf/s5PjeRq1CHIcaMe7ZN8MotcThzLLaWYbv3B2YIQvwVJfALxr8ciEr/p8/PVkiiqvnR4mN3jn+I3JHN5U1wm94TLLrO1DmYHwFznOZx+vBUspQFRxK69ZQyoXPkeetqWcFnqNR34cx9jFxCEoNcKy1L9/VVAlnCxUOHLJLRMO SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Sep 2016 13:12:46.5244 (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: CY1PR03MB2234 Subject: Re: [dpdk-dev] [PATCH v3 2/2] mempool: pktmbuf pool default fallback for mempool ops error X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Sep 2016 13:12:50 -0000 Hi Olivier On 9/19/2016 7:27 PM, Olivier Matz wrote: > Hi Hemant, > > On 09/16/2016 06:46 PM, Hemant Agrawal wrote: >> In the rte_pktmbuf_pool_create, if the default external mempool is >> not available, the implementation can default to "ring_mp_mc", which >> is an software implementation. >> >> Signed-off-by: Hemant Agrawal >> --- >> Changes in V3: >> * adding warning message to say that falling back to default sw pool >> --- >> lib/librte_mbuf/rte_mbuf.c | 8 ++++++++ >> 1 file changed, 8 insertions(+) >> >> diff --git a/lib/librte_mbuf/rte_mbuf.c b/lib/librte_mbuf/rte_mbuf.c >> index 4846b89..8ab0eb1 100644 >> --- a/lib/librte_mbuf/rte_mbuf.c >> +++ b/lib/librte_mbuf/rte_mbuf.c >> @@ -176,6 +176,14 @@ rte_pktmbuf_pool_create(const char *name, unsigned n, >> >> rte_errno = rte_mempool_set_ops_byname(mp, >> RTE_MBUF_DEFAULT_MEMPOOL_OPS, NULL); >> + >> + /* on error, try falling back to the software based default pool */ >> + if (rte_errno == -EOPNOTSUPP) { >> + RTE_LOG(WARNING, MBUF, "Default HW Mempool not supported. " >> + "falling back to sw mempool \"ring_mp_mc\""); >> + rte_errno = rte_mempool_set_ops_byname(mp, "ring_mp_mc", NULL); >> + } >> + >> if (rte_errno != 0) { >> RTE_LOG(ERR, MBUF, "error setting mempool handler\n"); >> return NULL; >> > > Without adding a new method ".supported()", the first call to > rte_mempool_populate() could return the same error ENOTSUP. In this > case, it is still possible to fallback. > It will be bit late. On failure, than we have to set the default ops and do a goto before rte_pktmbuf_pool_init(mp, &mbp_priv); > I've just submitted an RFC, which I think is quite linked: > http://dpdk.org/ml/archives/dev/2016-September/046974.html > Assuming a new parameter "mempool_ops" is added to > rte_pktmbuf_pool_create(), would it make sense to fallback to > "ring_mp_mc"? What about just returning ENOTSUP? The application could > do the job and decide which sw fallback to use. We ran into this issue when trying to run the standard DPDK examples (l3fwd) in VM. Do you think, is it practical to add fallback handling in each of the DPDK examples? Typically when someone is writing a application on host, he need not worry non-availability of the hw offloaded mempool. He may also want to run the same binary in virtual machine. In VM, it is not guaranteed that hw offloaded mempools will be available. w.r.t your RFC, we can do this: if the user has specified a mempool_ops in rte_pktmbuf_pool_create(), don't fallback. It will be responsibility for application to decide on calling again rte_pktmbuf_pool_create() with different mempool_ops. > > > Regards, > Olivier >