From patchwork Thu Jul 13 12:58:27 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petri Savolainen X-Patchwork-Id: 107677 Delivered-To: patch@linaro.org Received: by 10.140.101.44 with SMTP id t41csp2183099qge; Thu, 13 Jul 2017 05:59:08 -0700 (PDT) X-Received: by 10.237.46.225 with SMTP id k88mr4970919qtd.5.1499950748718; Thu, 13 Jul 2017 05:59:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1499950748; cv=none; d=google.com; s=arc-20160816; b=mlv/m38Tqs29UZBFk4hKmaJmflEr3sa/0P6maIfO028h4YPUKLDaHaU54lO2ISI0jX 4HP8NHltsM5m6fv+6LoKth4w27DpbnnHgMPYgY7OYHFXu/R1EFOw4SXdf6+9LEeXgbOU 25AQvz+dBdMUxIYxbw+nrKFOYWRAoEQ0SQONpeV8xgdxWKaKjATRyn6pLxw8qRsjqk92 1LOIQGX9zJk/xwVVbDYHucYMjClpO1IRpEr/qMl0yvR8ii6j4uJyBoUYgCaGuiNq3T7U jCtG66lAuBVGBz1Njl9aZmgJ3lZEM3ZrSpEkzbWoGMQVt62kgzikPiYE6Nefi4TqlRoK VZzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:spamdiagnosticmetadata :spamdiagnosticoutput:mime-version:references:in-reply-to:message-id :date:to:from:delivered-to:arc-authentication-results; bh=mgdGPYhyidNk3RtgM2VI1jUklxfTblCj8DNu9CW1lFo=; b=0qsMTeUKv1XUtw5KUru/Kx5els915soxnY3wF28hlFTzEwx1PJjA7CeFgT2FYxg7WI NFt2ZjV+XGoCje1Mly86ACUUo1JMem+HLdYkqM00QMdo+OiTuhj93Tdm2NcNq1oukWQ8 7aDQj9fMJDtNEdn7A/3FNTooKcC9qFnDf9x9MfDrg80dkMBu3RfXiJOKtt5Agmplk/2k 60z71juTlMLLqsv77+90OARLsE8qM+J1+3QQbL1WlBAReYXxuf8L44X8waddeVSlJqWW 1SID4cGpBjl58aT2Taf4JeTUItrylLgswOw/o3U+6XKrzGW808eSivY1h+abaeA3qn/Q QfVg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id t58si5085780qta.113.2017.07.13.05.59.08; Thu, 13 Jul 2017 05:59:08 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 3FC6C644D6; Thu, 13 Jul 2017 12:59:08 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAD_ENC_HEADER,BAYES_00, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id C9EFF60C90; Thu, 13 Jul 2017 12:59:00 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 4E31860C90; Thu, 13 Jul 2017 12:58:58 +0000 (UTC) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0138.outbound.protection.outlook.com [104.47.2.138]) by lists.linaro.org (Postfix) with ESMTPS id A9A4C60C35 for ; Thu, 13 Jul 2017 12:58:56 +0000 (UTC) Received: from AM5PR0701CA0007.eurprd07.prod.outlook.com (2603:10a6:203:51::17) by AM4PR0701MB2193.eurprd07.prod.outlook.com (2603:10a6:200:49::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1261.4; Thu, 13 Jul 2017 12:58:55 +0000 Received: from DB5EUR03FT041.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e0a::207) by AM5PR0701CA0007.outlook.office365.com (2603:10a6:203:51::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1282.4 via Frontend Transport; Thu, 13 Jul 2017 12:58:55 +0000 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning linaro.org discourages use of 131.228.2.241 as permitted sender) Received: from mailrelay.int.nokia.com (131.228.2.241) by DB5EUR03FT041.mail.protection.outlook.com (10.152.21.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.1240.9 via Frontend Transport; Thu, 13 Jul 2017 12:58:54 +0000 Received: from fihe3nok0735.emea.nsn-net.net (localhost [127.0.0.1]) by fihe3nok0735.emea.nsn-net.net (8.14.9/8.14.5) with ESMTP id v6DCwS8W029198 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 13 Jul 2017 15:58:28 +0300 Received: from 10.144.19.15 ([10.144.104.219]) by fihe3nok0735.emea.nsn-net.net (8.14.9/8.14.5) with ESMTP id v6DCwSPd029185 (version=TLSv1/SSLv3 cipher=AES128-SHA256 bits=128 verify=NOT) for ; Thu, 13 Jul 2017 15:58:28 +0300 X-HPESVCS-Source-Ip: 10.144.104.219 From: Petri Savolainen To: Date: Thu, 13 Jul 2017 15:58:27 +0300 Message-ID: <20170713125828.28230-2-petri.savolainen@linaro.org> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170713125828.28230-1-petri.savolainen@linaro.org> References: <20170713125828.28230-1-petri.savolainen@linaro.org> X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:131.228.2.241; IPV:CAL; SCL:-1; CTRY:FI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(39850400002)(39410400002)(39450400003)(39400400002)(39840400002)(39860400002)(2980300002)(199003)(189002)(9170700003)(53936002)(5003940100001)(105596002)(6916009)(48376002)(8936002)(1076002)(22756006)(8676002)(2950100002)(106466001)(86362001)(189998001)(50466002)(50226002)(38730400002)(626005)(36756003)(5660300001)(2906002)(47776003)(81166006)(77096006)(76176999)(305945005)(2351001)(50986999)(498600001)(110136004)(356003)(33646002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM4PR0701MB2193; H:mailrelay.int.nokia.com; FPR:; SPF:SoftFail; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; DB5EUR03FT041; 1:mj7fDx93AAfy8PS7SmPStkCF/alCobMZ2oq3d+GUx4Ixy5GNq4KjNuND4WlDZcmA9x35QWfi2D5AjA0+noC79IOYBCrL2L60Jdhwt/B1iVCkvOnoMqyiaWETv/Z/QtlX5wCkntUL9moVnX28TgZYaXHdmi0Wp99qKuzjlRdJetDkJ/Y6nFtsAJfgg6akGPCSsphH1aw81iwlhhbiy/MYuXTcC+5V5J6fbwZz68cQhzJgcSyew0vTkQ1heM4H+hjeFHi8G3lVjm3WZC5LbJLpHux6GKEOCXi8a3Bib0rDo2tjn2NqF0A1vF4Ikji3j65E+mV7xFA81Ws7ZIG4voQbTAFi/0QYs7DChKXTAZ6IzbsuR7oOgqyFsSSeOQsHsPJadl/PvsEr/uCr9cnCkK7+hhLbVCSphzZxobQwhueBiQHl3ZyiTIhRVlbuIbA58iFGm0yBNtV5XhglP8tdiynw75BXC1aSDbO/vk/q2fKnfHGRmOeWE6SbuPR+2EYYB7m8xZ2X9Bb0fTJGWCrUJcMR6oUhncxYcFmySiUX3BEGIW98fP1FaxboLcPQOB5G0wJcwHjEpcd+4yO9KaeQzT8frYlIjfZo4T3GYKpYMMIUxZBN1CP3lDDTAG2jk1ZDyuqIH/6njPR+tvV7gALRt/QGksumRT8VxZvd1gavFMeR2ztBKomLDpaFME/18nAioSHy6hFb0uoXeOLC/Od6qGWUWmbsIUOIMxObnNl0Qy8puQOlOGtgBINW+VaPFnoLx3uyEuh6t3k4zAiCtTsjIqrJEWsmS+2OEWRY4UyDlH+YMIOw3MaIRpgf4cO+DK9/sNPTp07oKRSpQf1kEiZ/N04rsgO/dr+NC+I9p9GYg/n/Q7A= MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e555d24c-ba8a-4b6c-0309-08d4c9eeeafb X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254075)(300000503095)(300135400095)(2017052603031)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:AM4PR0701MB2193; X-Microsoft-Exchange-Diagnostics: 1; AM4PR0701MB2193; 3:qJzwJnd1jRS50JNx7/DD2i5VmcEDBnQQ5vxRGVGN4hP2mIZEpdz++2JbVkHBKJO6x4TuMFI6zDURZ0KOMHmbN11M4vzK6ovdA74m4IyUit3v3bSz8V0rzcZmGzX/vgcEqovxWZeLURzalophhxwnAYJbw/r8ckRgFcExWAHz7fch6ITnDzKvP5u6xDmJ53orvPcqsra1nPYpM1x7PmZmTkdiAwBfsxq6L0cwAKCVv69cc1d87JkBrikxX1IgvxG8exjyH6HnB+Ub+qwuWwNV+x7LpHz4wZuFvDgwiIYPI0kjwQ8a3lVZhVeKaeBLkpoexvF4nOurVM0HoXMyH7FPHG7GBu8xNj/wV0BJq0WBQh1D/X+KsPP+pI2sh6YMiwoI2/6c0C3g/lRtYSH18Xh4p5HxOVYoM54iC9zL/bnBTFSaRmXDT1mJO3oAig5COc6H1ZCm//03/Fs8qtt4VVwYm3x8LyzRC82Avb9Wpg196XfNcYfzxEoqxVdMFOAvdOO26ADUyJkIhiNYyWcAPymwmhhci0lCkb5D/fdHCMqJz3qE/56EEdORR9BvUnbaIjFxOTToFZ8vlp6kRA9LInHlxpiRRir9dtz7P2CpubUSX/wU/1S0V/+dR8U0hlkPMsht/vlUe5QR7cpwH1Pc5nxJrAgUfQSMlTTywIrxxhVoq3XdzSSOIYc80s5XY+hSDD5lA5rufRiIutQDhm2EoSeASKmv/WPCLeavwONfGqtDBIUI5Epduan/ROqr6H/XJcZ6GtaF/UlGMBLl/sMs1wPrv84C9Xalm+LnEU2OGcvAGpszHn+5bM2G7lnwjpTDKHGhtgon4znyrPhit1NClbmCQsBRUnNFnOLsSQ59A2avUXBCKa8eP8P48+8w3k6LaXADUAyAXSk9ZBIJvSwIdP6L8g== X-MS-TrafficTypeDiagnostic: AM4PR0701MB2193: X-Microsoft-Exchange-Diagnostics: 1; AM4PR0701MB2193; 25:KHHJb2g9jHBOO/A+IKKoXCLpnVhWqiqLS+lcSJ3Mrw1iZqFPVGcSpLCwcwbABRTpHpqJ7fWJnq6lAA/2SDSnFv09dcTV/iE6IOsbRMFXuCol1IpYzvgGq95CQK0R0Y52m1C0rVevaEwiFHARll2UFW7PdAbZwpTDVeXL2FPpU7zozE65aX6yPao9sXJ4PrXAgSQweVtBntToqsGqtXhu1Swzb0M0Cm3pdECcFDFBK0gneEAjCbmMGGCI/k+hfpFAQKTftEunL+m0V83aVnqf0lONXFA757WbcFG/BSg/3OJldlkfEwHPP7RexLg5vo9AmF0cm9dl7+Zqqv06dEiEZUq8Az6fcOVt6fOj6+l0Yn1hQ67inFKsWIulSWKw0ZCXdblayYe1vc6Khmx+rLrC8saCg6OCltY4Nq17hqkUsgOyKphrwYYWseJ0pRbqNFkQW2jlmnHHidBlr6q87PLAFg6spMNepgFzMHKsHgWPgQUt8y2WDtkJw7AFZ8sDc/Ib6usH3aVmN2Md3Mqf8GqxWtbB4D+eP2TUVtypJwK+hDemGFRc7uN4UphWAWu4S8GX6eJcQ2QOwZE7qEjnMoHDWemYZpLeJO9eCQzIvMrRBSSqXXSq79ZJO8yfqb5vz5bOkoZMn229Q8whCoFqWmhdvj8O/cWPpRNhB7TBmndF92KYOzPJCYfoCwawFhmQqwifHQ2zEp/8PLrIw62NxayjldCccLVTSHCC6vcXop5j9PX6kGeANFKnB8EBTsS1aRIl/m9519ILYtHSjzH6SbuzZ6jgV0vV9OYbnyDuXujo+3YdVw5yTRhOUsUqfPS9mOzLHrBb9FUsHsEgA7r0AB3GkKXxT3Uiu+QGB7t9CzspW+VFwO4n0XDSTgNiIB7aQP3WJQDN5uRbHsXgntt1efb6awD5y7s5ioaAqX6N7Gnq8eE= X-Microsoft-Exchange-Diagnostics: 1; AM4PR0701MB2193; 31:AV0N9MSmaThb1x02tVac5L7dGxgX8DAoaw4JqWuOG5vbCNFbW1czkQALJA4vFfQYo0xuOSb45/D3xqOr2eeO18VXklikK3R92s8Gr8iBTqa4BZs5pHlWBTQJRL5JQ7EpCOczql0T+K5L3S4NAlrruaQf1RLjDVVxiTyqT2s70ccAXPQNSRGVMRexxFTwosy5kZfwbxvS/VsTLIblsv13N+e80eIfYnGtCs9JQoF9+nRtaG+15x6cXXbnFp8aicejOrevgzaksl/QOEC8k+RkYlb0brACcnfRkBnN6Zti+fvFl/l3Rd1rTh+uwQpf7feQvzSutOqTSJqOW6tGWho87wfJbEE+zSBS1aGEFvoB9rAT+q14WuOBAkHKuyZ0NOjPXhAeFx5llUkhdTmjvEPMXji7otCTOv5OAKZhH1HmKoU86scuAiQgqFxi7bt9gy9Yr7WYnTmLdq78k0Pb9F5zdC2NMpMbVCCl4si8K/au7W9MqWeoXpMtreYG1snlowWhelTZ6/KqtQWGpCmBFiCpzLLLkDqXS1e/rPXNIb/nTTe+JaR/yjQvv9LFBWGFK5lVbR+zqnF5IY4lK9OlhTT7vb1zbKTYprOYdawndjddI43SZftIeabkl3VOVdQZ/33uQUtTDPD2K94/TuX9z04pg7lvcxf6T+dfZrRGYExpIINCuxKeAnNko4Ou3NbiTiyS X-Microsoft-Exchange-Diagnostics: 1; AM4PR0701MB2193; 20:e4fKgKw8XIWu0BXyhLqhMy7V35LAr27eWhmFsEHbLnKqzF1WmiWaytdNSKYikR1XHWIaKZmmwWOWaXCDfiJ6XLwItL4OHTNkvxL4I8Nm6DdbYgjVwQ2eLZhLe7DhnWjkSODFWC9qQ5vYzuYI/g7GnyD6HQBc0y4iJKCS4IebgA1k/cKjo/nQCwpgk6o+PxFp5vwMUhfzvGz4MS/JaNW4sYXqaFrpYoZ+pxcyOH8CqQ79DGw/d77WG4SAMnQ13RpuZNsurhjhvMPKvQXzOpWgefoKja0uICuPh/ZzTxBm02URHAKgVHN2oamRBTfc5ouQJoL9M9DuwyPagXUf45DoEBYC1tL9+2nT60gDD9kMuFuedsB8+tzwO0OJIYvdjJ1nIIcsBcP4LNY3dHzGTVuMmUk2ujHN3JCiwPU1jeyK31jMJhUQoxJRfOzDd4VSCwNHKONAfMo5ej8tNHa76RXnscjXT4MxHbsb5aHZf1UaMGKSLTUEaMhkaPDfjoHmt45G6j+uIUD6LZOtF8nN2lN/5GKr8oxl9M6wDV4y2gmEQRS9UgFRzIpftqWZW2ZgEyVwKMoBXKAby3MOkqqAFEoWkYUkGXqu0YyneUyk9qFa7h8= X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(13013025)(13021025)(8121501046)(100000703101)(100105400095)(93006095)(93003095)(3002001)(10201501046)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061750153)(20161123560025)(20161123564025)(20161123558100)(20161123555025)(20161123562025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM4PR0701MB2193; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM4PR0701MB2193; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM4PR0701MB2193; 4:GqkST1KmEJfg1MppTvllaPTnFwwmOVVsuaeNWRIF?= M+iClZdDsMr064P2nI7f3NedFjGXKcILRwOi+QK9Rwqfp3Lu6FGZaC7Y4sD0a0D27cj34bO98ZDZ9RZgUt+QKE81XKeaMjhlO5zctL2ASO1EXb9ebBSe0tzaTAgQS20H4ev4R41MJi+OKGg2Ze6xvLM9CMDLB5Fu+hC6apo6VRhi3ruYp9WGR0c/WZCt7FLGNcXDqGLxGUkX1Xm2CZDRV6boxxIp9wWPsxhb2DiEHPx4fqqZ1iqe+f8VOfey2P4ZfybXde+tmAlA6SDfkmir53rFeZZWWF8TURzfsSGEUkKEmjFuldCOpKFkfvjWN0fX4zn6pVEVPDafOqJnlH1Yc24gkYOeMSxWPZXHSvcA6BSU9nuGzSRqMvsgCm721BoGKB5qeTBcsESZyN9x6GWxdgJqLfv4pPn7GDSqoSExpfEwamSNK6/D8Mv5cfNyJU3818ynE2uhKztmcv+CL/NOIkIsNTv11m6YqV2ojIYZmmtq/SOME6zCsLsRMlK530IEa6U1c+joPOC4OTlV9SoYU/LTTwn77bMJv7J7jOttePhiMsH5OxO6A3UGtil8OL/xBsOoF0COR3rnJJEKp9kmVLychjrv9ZXKlP1/BcKxg51tJ6uQMp20IGN9OmJl+G/zTUzXGMXUS6fF5gFH57u+oLqxCJgeUp7BW5pqJlR7IJz0jQQmczyJDKl6Bufna25dRbLvS0bTKv5YaA9DA3Jp0fTVoSzl8Mxu3rKkMJwNFg89rdfsXlXLBNB6a6yx0jev15TdqWeBJNCWD3ljywI4aURFqjVbc4er6yiuLSsr5HRPZwHE/NJ9HYhJ47fiJp8LGO58ymlqhpOvrknnDu8ShdXQiWlWahxTv2NCApw74AduSo6jRsjoVYClnpRKbEsYQuKi5uZmQ8PP5sXzm+awZUb2UVHke4JXcOb6hXp13dnRjYij5Z9eSbGjkXDbLEhsLo4SWxjTL/x58mHaJuZEaH8uKndcVFK3kFDfAPaZZUy03hSTC26tLvEQeK9lEfbQvf/jVTH3gtF1jQq1tdQAQ9cXWD51eMjeb3fdJYoxjIJqEP31ta61jMXqKnhVi1lYjJcVIp+YpQLWIBc5OGfsUpeFL0f5NMyQCqStTlJHVioURwdq5lRjnT91MRu5ZM7zr0FwVgjFLr27MC7C7sXSjCvI X-Forefront-PRVS: 0367A50BB1 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM4PR0701MB2193; 23:1ZYVOhkj7f0ZlQ2UTyuMt1MdsukJSQ3O2aM54fK?= LwyE65cmP/XyWX+SOLZ+p76xscoz6AnYt4m7k+xHVYQpA03ys0X1nO9LOg/R2Mv+gKaB/RIaeCzoqfMGibX+glhUm+ww69eDWgz6FuCukWOvR4evQeKT/8iBjI/Vr3ALg5Ra7OsTftppaWpaA02tdtRJYY4DiOiGRxrxea+Zb1mkiuYdxa8OVtWxEhtopz7FYLKOGAoAbtkhwL6LY9bmme9aHpdVVPy6vvibfyuAKGdQpPCYXddbu4XlSNjcwJbVuj0Yvzizh7y0xfngFAGetvFcVqR8Iz4JGfoYu4PgKN0QczCgfwwmcM/9pDO3WCI999nMHSQzWbSq1rytt2J9EGUYX4VxhXbBH56GGMzey9RCEceA3Di8WSWRcc9jmVPLFAB2SOWvbMfkoyOzal5GHoxPjFL5OO3AplOPoCUyR0zduAfbecGPrTyVgrFbTh2eup6mLh2t88iFvM9s8R9jtldpkITVCWhIbbgkot9Xdpy/Rl4HeHAO2zEi7NswFP7QijqgaiJxy7k2roT5FJqyEYdVVW+EwadEFXmzBCtbi5zTKMeNzS0p8OtMVnrTyrdv67cEHtIz3u6EVWkdSmLNVI/RWoklQX+k11BS0/p2+n8dtVQz5ycVGCcTYaswCnhuVZl/X7osxU9/PYNeEuYB/5WmGZA9ZnRxPCQt5aMxS0QlaBpYwQuTq46antzqPkT2wY8BESdU31EJAARPod8oGjhKYQ1bllHjzSfe72AQ7foM4DaUzJ16HaET+zP3V9iPPq3lthqzva5aldWQcTf0JPZHiLf2PAHmLw6xafCsWTYmT+k6iScLtTfSAeIt8Infd2LeFgZ5eMf3uaHZb2c5A7bi9SAvT8ZMEv/F3k3n2NhuAE9J4OHcHDWswAodojsGOjiNBjISpeaLRy7N9vXFwzyvDI6NCpmhv+pCjU+nkAT2gIJfR16Urz5Jb3UhW5+Feli8+6tjXpejwcQ2xlUWKDMkj+6EblSWTOTuYaHq4ez+D9RqQu8sVNVaTf9XzkWZFAjnbCdAT6+YpuARub17NVL8t X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM4PR0701MB2193; 6:4n58ER+vVYxrr7NGpMA13sM+5BDvLZOc9l+eO9GJ?= H8RIhLJGICTCIuB4nPINl++8dwTDlV4TD2lEosHJ1R0g00cj0m0aJF+MWR0+KTAH7iaPc3t7B0miW6jBsFrNdW0GaGzL8ZWRkdN6DB4pxzpMUsgsGw22mqcMFkmgkQ3W7z/5wlFmBqAk7ZmajjWzhfv+WqnegrIV/EWaxXlRfK6kJoQy9JMCPo0K9pCaPYEgMwc9jEQCiUiUuz3IM8lMhMXVhHlEgD1nOixvtN8P3CvFGggcNUu+F2TCJpSmgEhyGiuEXTSsVY4TFKBBU8xYcYmx5WojBPkJ9Iysr4c9T1E00hKO84z/l+rFxpCO0/WBZ4XZqY5F0vNYaR0xMTnbkLiiSQ499/D5iqpDgOhEjTiAArjw7BbYiXBu4Mv/NTP7pENHBoCfhItnj1B0JAXyBP/xGRZ4ZAUPY/3fHbIPXK3ypLPlGTdbFxjb9/OQXfak4Di/q9YseDROdC167tJ6eoPYUgNbbroqSsC/5ORKkMyAslXeOOw8vVPU50NMBnoNfLkNGl4adX03rctNIMk6Yb0sVVZNIfR1OgzXOQfCV96Mq0gjoArE0J9NdpwXuwol+58tMHPZDg8LxSxt/u+g2EjEpqCyca+EN782FdXoBzVbFRAMKeM4ID8OkZEWs+vK2lXpXGIqLnwb+4z8Uu6MmTVEcm6hIFaNv+y1pMfR5eBDDvBNb4xOfzZYMhfuwg2got7fJqrPmeBoW3wi4kjiG3Y59sS82N0SjmGNPVTRBwZqh+lXrLUZQcWc7pSpwTMIefiHL8e49D9QD1vmDFhaMdKUhCbDu6em1tfr1OO7/BIVi4ZMFJzmVVqED6HvBF94p3qnxVa0zYHuvJrrNkhzvD77O+Nm3xSndKqT3cvf6x8DNua4ox8Kp2p6TVx5bJcpTQcNjro1meIQihb6qJJjajAgJH+5J93MWCS6FWqLsBshw84lF63V08p/A2sdKKLtb7qRLkMYI+t0VnrS48ETIt8j X-Microsoft-Exchange-Diagnostics: 1; AM4PR0701MB2193; 5:MOWYUSuw1p68ZGxK371anZB7LFQMjVRZ8JPXmqoodLnblQDSa9b7lG1BFMbtRf0/yvlFH3GOu5J2bw3sblVxyqWpM0c58/6VkQWBkltC56Y/KEJx6jHINSW3jWcSfBcqNs/jRspXtvfpf1CvFjKGBjLdt/hak1vDh9QS/sOsgcwL/Iv4oc7t7rwFbnSfQ+wMoEE3IuwaR/IZz8HMl9YZyLiEM3ZPQYN0ehjCOdWnpF4D8im2C0wh7O8oEApnQw4IH/eQhTd+/AtNw4yuTNMTDKKxu9zfCPyWRR5eUWG1KWKkyTHCOLpkgaK6ZYAgc2TINZ/QDQf28hOABflzbvktG22dihq/TzeS0B0ld+xu1Tt+SzJ2CkeOf6VU+HD+DXXfoDi0o93gf8TR0jckAVmoBaTSzYBHBAHn1tfgmnb8ItYoE+wOlG0xCaeuuEQixWg6h78OgOtd69fpPqE7+yOYlO9xk0m2Djse4k/v4Xv8F5juPu0SD8AXtJgO4iNCNIlG; 24:8M5dIsOZC7BxmoSpH9UdPMbpRhYRGKgKhnWXwlfwK/Eluo29Eq1cAxTMYObk/dL97UokydT9BfqxeHPCEpQtPAAqmbawbBFvM4eKEnAHs1A= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM4PR0701MB2193; 7:lN4NvpETvhbsdp0vmIYfPwPypfDyqUgWJ8e2W0H0ZMawXdOEi29t9lltmVh3xms4Y7OZHPeuSvCGFUQJ32qJ+4iNMGKWpaibmUI2e3nQOHQ9PhkcLu3nNS5KkXYChLs3R57JN/LhvF8Pv2Y4zfTptZl1YILW90fqpMyesZs6Zh1PX1EtcAPdvEkDDTLA5tXFbP/zaVpRJMdbP0tQKKJN+haWqWzZ+ii/xj9VyrOct5xGnnaUF7dhzR3ofh/J3bP4mqWvkQkoj0i3ISDI8Ig3FSG7Rr5ICYbVwQSZYyBUDJDomChLZBMAMxg54UFT860eMEEFDkuktSg7Ce354qcy355rYFnO3YmwKDYUtTLyoTdVfTY/CKRsCHVblq2Ugu+TljRRpu+htdmTEBD5JesbXzCODdmaJmZf4RZaMnMxdDV8QSzuQZ/Vy/Gf8Q9lY00AKT2UcxTWgeOoTruUhpeFR3xhxmNNdh01gGjd5NCVPxAz4C0sQemCr2z+tBadR19d8uZ/zFvU5umfQuAvgb7rEchRXPBENAz1MyqL9x3PROCe1wJGmhE2EhER57G2dNibdSdctDiPI3pFQGP6+dLh0nZz/RH4AqIVZinQqTq9Fy5jEHxlY/Tlr4qfEPbCYK73dwMfz9OJr6Y5y9UDzwXRxv9xth+9ComeZThy6k0tOyCwvmfbNByyDrhzaTO202Oe27Fmb9b1pwW9IJzC8h7IQd44sl0zQhJXsa8e31qWnZOJigrccNoHZAFrHIRLasMjuOxhyVPF595lhbIZ1AvlPTk37unsu9YqRzgpLoWIFws= X-OriginatorOrg: nokia.onmicrosoft.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2017 12:58:54.5925 (UTC) X-MS-Exchange-CrossTenant-Id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5d471751-9675-428d-917b-70f44f9630b0; Ip=[131.228.2.241]; Helo=[mailrelay.int.nokia.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0701MB2193 Subject: [lng-odp] [PATCH v2 2/3] linux-gen: queue: avoid extra conversions X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" Conversions are not needed as event handles are buffer header pointers. Signed-off-by: Petri Savolainen --- .../linux-generic/include/odp_buffer_inlines.h | 5 -- platform/linux-generic/odp_queue.c | 74 +++++++--------------- 2 files changed, 22 insertions(+), 57 deletions(-) -- 2.13.0 diff --git a/platform/linux-generic/include/odp_buffer_inlines.h b/platform/linux-generic/include/odp_buffer_inlines.h index 1dbc725b..a5658e81 100644 --- a/platform/linux-generic/include/odp_buffer_inlines.h +++ b/platform/linux-generic/include/odp_buffer_inlines.h @@ -28,11 +28,6 @@ static inline odp_buffer_t buf_from_buf_hdr(odp_buffer_hdr_t *hdr) return (odp_buffer_t)hdr; } -static inline odp_event_t event_from_buf_hdr(odp_buffer_hdr_t *hdr) -{ - return (odp_event_t)hdr; -} - #ifdef __cplusplus } #endif diff --git a/platform/linux-generic/odp_queue.c b/platform/linux-generic/odp_queue.c index 348d609a..904c9ef2 100644 --- a/platform/linux-generic/odp_queue.c +++ b/platform/linux-generic/odp_queue.c @@ -422,43 +422,34 @@ static int queue_int_enq(queue_t q_int, odp_buffer_hdr_t *buf_hdr) static int queue_enq_multi(odp_queue_t handle, const odp_event_t ev[], int num) { - odp_buffer_hdr_t *buf_hdr[QUEUE_MULTI_MAX]; - queue_entry_t *queue; - int i; + queue_entry_t *queue = handle_to_qentry(handle); + + if (odp_unlikely(num == 0)) + return 0; if (num > QUEUE_MULTI_MAX) num = QUEUE_MULTI_MAX; - queue = handle_to_qentry(handle); - - for (i = 0; i < num; i++) - buf_hdr[i] = buf_hdl_to_hdr(odp_buffer_from_event(ev[i])); - - return num == 0 ? 0 : queue->s.enqueue_multi(qentry_to_int(queue), - buf_hdr, num); + return queue->s.enqueue_multi(qentry_to_int(queue), + (odp_buffer_hdr_t **)(uintptr_t)ev, num); } static int queue_enq(odp_queue_t handle, odp_event_t ev) { - odp_buffer_hdr_t *buf_hdr; - queue_entry_t *queue; - - queue = handle_to_qentry(handle); - buf_hdr = buf_hdl_to_hdr(odp_buffer_from_event(ev)); + queue_entry_t *queue = handle_to_qentry(handle); - return queue->s.enqueue(qentry_to_int(queue), buf_hdr); + return queue->s.enqueue(qentry_to_int(queue), + (odp_buffer_hdr_t *)(uintptr_t)ev); } -static inline int deq_multi(queue_t q_int, odp_buffer_hdr_t *buf_hdr[], +static inline int deq_multi(queue_entry_t *queue, odp_buffer_hdr_t *buf_hdr[], int num) { odp_buffer_hdr_t *hdr, *next; int i, j; - queue_entry_t *queue; int updated = 0; int status_sync = sched_fn->status_sync; - queue = qentry_from_int(q_int); LOCK(&queue->s.lock); if (odp_unlikely(queue->s.status < QUEUE_STATUS_READY)) { /* Bad queue, or queue has been destroyed. @@ -529,15 +520,18 @@ static inline int deq_multi(queue_t q_int, odp_buffer_hdr_t *buf_hdr[], static int queue_int_deq_multi(queue_t q_int, odp_buffer_hdr_t *buf_hdr[], int num) { - return deq_multi(q_int, buf_hdr, num); + queue_entry_t *queue = qentry_from_int(q_int); + + return deq_multi(queue, buf_hdr, num); } static odp_buffer_hdr_t *queue_int_deq(queue_t q_int) { + queue_entry_t *queue = qentry_from_int(q_int); odp_buffer_hdr_t *buf_hdr = NULL; int ret; - ret = deq_multi(q_int, &buf_hdr, 1); + ret = deq_multi(queue, &buf_hdr, 1); if (ret == 1) return buf_hdr; @@ -545,38 +539,22 @@ static odp_buffer_hdr_t *queue_int_deq(queue_t q_int) return NULL; } -static int queue_deq_multi(odp_queue_t handle, odp_event_t events[], int num) +static int queue_deq_multi(odp_queue_t handle, odp_event_t ev[], int num) { - queue_entry_t *queue; - odp_buffer_hdr_t *buf_hdr[QUEUE_MULTI_MAX]; - int i, ret; + queue_entry_t *queue = handle_to_qentry(handle); if (num > QUEUE_MULTI_MAX) num = QUEUE_MULTI_MAX; - queue = handle_to_qentry(handle); - - ret = queue->s.dequeue_multi(qentry_to_int(queue), buf_hdr, num); - - for (i = 0; i < ret; i++) - events[i] = event_from_buf_hdr(buf_hdr[i]); - - return ret; + return queue->s.dequeue_multi(qentry_to_int(queue), + (odp_buffer_hdr_t **)ev, num); } - static odp_event_t queue_deq(odp_queue_t handle) { - queue_entry_t *queue; - odp_buffer_hdr_t *buf_hdr; - - queue = handle_to_qentry(handle); - buf_hdr = queue->s.dequeue(qentry_to_int(queue)); - - if (buf_hdr) - return event_from_buf_hdr(buf_hdr); + queue_entry_t *queue = handle_to_qentry(handle); - return ODP_EVENT_INVALID; + return (odp_event_t)queue->s.dequeue(qentry_to_int(queue)); } static int queue_init(queue_entry_t *queue, const char *name, @@ -678,17 +656,9 @@ odp_queue_t sched_cb_queue_handle(uint32_t queue_index) int sched_cb_queue_deq_multi(uint32_t queue_index, odp_event_t ev[], int num) { - int i, ret; queue_entry_t *qe = get_qentry(queue_index); - odp_buffer_hdr_t *buf_hdr[num]; - ret = deq_multi(qentry_to_int(qe), buf_hdr, num); - - if (ret > 0) - for (i = 0; i < ret; i++) - ev[i] = event_from_buf_hdr(buf_hdr[i]); - - return ret; + return deq_multi(qe, (odp_buffer_hdr_t **)ev, num); } int sched_cb_queue_empty(uint32_t queue_index)