From patchwork Wed Apr 26 18:37:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 9701849 X-Patchwork-Delegate: snitzer@redhat.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 339876032C for ; Wed, 26 Apr 2017 18:39:04 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 27021285E7 for ; Wed, 26 Apr 2017 18:39:04 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1B473285F2; Wed, 26 Apr 2017 18:39:04 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 10AC3285E7 for ; Wed, 26 Apr 2017 18:39:02 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 01DD93DBF0; Wed, 26 Apr 2017 18:39:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 01DD93DBF0 Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=sandisk.com Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=dm-devel-bounces@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 01DD93DBF0 Authentication-Results: mx1.redhat.com; dkim=fail reason="signature verification failed" (1024-bit key) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="ToS0f4AM" Received: from colo-mx.corp.redhat.com (unknown [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CF646784A4; Wed, 26 Apr 2017 18:39:00 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 99E095EC66; Wed, 26 Apr 2017 18:39:00 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v3QIcxww015284 for ; Wed, 26 Apr 2017 14:38:59 -0400 Received: by smtp.corp.redhat.com (Postfix) id 2625C18133; Wed, 26 Apr 2017 18:38:59 +0000 (UTC) Delivered-To: dm-devel@redhat.com Received: from mx1.redhat.com (ext-mx05.extmail.prod.ext.phx2.redhat.com [10.5.110.29]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2926D18100; Wed, 26 Apr 2017 18:38:54 +0000 (UTC) Received: from esa6.hgst.iphmx.com (unknown [216.71.154.45]) (using TLSv1.2 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C5C9F23E6F0; Wed, 26 Apr 2017 18:38:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com C5C9F23E6F0 Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=sandisk.com Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=Bart.VanAssche@sandisk.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com C5C9F23E6F0 X-IronPort-AV: E=Sophos;i="5.37,255,1488816000"; d="scan'208";a="14109883" Received: from mail-sn1nam01lp0118.outbound.protection.outlook.com (HELO NAM01-SN1-obe.outbound.protection.outlook.com) ([207.46.163.118]) by ob1.hgst.iphmx.com with ESMTP; 27 Apr 2017 02:37:43 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-sharedspace-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=dW1MEHPP15MHWGWw6EOEYxQAY/KROmlNQ1+xa3mssUw=; b=ToS0f4AMYaHTJJOABa4J62wBpvVOZm2KEX9fzNApdEeBtAem2MbtpGgTChoSTQxgj4k6BkYNsdgElOtL6Addqpy8MgehPNO9Xl6TcGoNif/fnTUSC0flUYxbbwWkQnqG8wktXwIg4/Qkktr9N+1AaT8H0C7wggMEEl6F4SUYqiM= Received: from DM2PR04CA039.namprd04.prod.outlook.com (10.141.154.157) by CO2PR04MB892.namprd04.prod.outlook.com (10.141.198.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1047.13; Wed, 26 Apr 2017 18:37:41 +0000 Received: from CO1NAM04FT023.eop-NAM04.prod.protection.outlook.com (2a01:111:f400:7e4d::206) by DM2PR04CA039.outlook.office365.com (2a01:111:e400:243c::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1061.12 via Frontend Transport; Wed, 26 Apr 2017 18:37:41 +0000 Authentication-Results: spf=pass (sender IP is 63.163.107.225) smtp.mailfrom=sandisk.com; redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=bestguesspass action=none header.from=sandisk.com; Received-SPF: Pass (protection.outlook.com: domain of sandisk.com designates 63.163.107.225 as permitted sender) receiver=protection.outlook.com; client-ip=63.163.107.225; helo=milsmgep14.sandisk.com; Received: from milsmgep14.sandisk.com (63.163.107.225) by CO1NAM04FT023.mail.protection.outlook.com (10.152.90.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.1047.9 via Frontend Transport; Wed, 26 Apr 2017 18:37:40 +0000 Received: from MILHUBIP04.sdcorp.global.sandisk.com (Unknown_Domain [10.201.67.162]) (using TLS with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by (Symantec Messaging Gateway) with SMTP id 18.1E.19026.1F8E0095; Wed, 26 Apr 2017 11:37:37 -0700 (PDT) Received: from milsmgip12.sandisk.com (10.177.9.6) by MILHUBIP04.sdcorp.global.sandisk.com (10.177.9.97) with Microsoft SMTP Server id 14.3.319.2; Wed, 26 Apr 2017 11:37:32 -0700 X-AuditID: 0ac94371-41ba798000004a52-b9-5900e8f109f4 Received: from exp-402881.sdcorp.global.sandisk.com ( [10.177.8.100]) by (Symantec Messaging Gateway) with SMTP id 5A.6C.18148.CE8E0095; Wed, 26 Apr 2017 11:37:32 -0700 (PDT) From: Bart Van Assche To: Mike Snitzer Date: Wed, 26 Apr 2017 11:37:26 -0700 Message-ID: <20170426183728.10821-12-bart.vanassche@sandisk.com> In-Reply-To: <20170426183728.10821-1-bart.vanassche@sandisk.com> References: <20170426183728.10821-1-bart.vanassche@sandisk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrOLMWRmVeSWpSXmKPExsXCddJ5ke7HFwyRBtPXqVvsfTeb1WLBm71s Fm0bvzI6MHu833eVzWP9lqssAUxRXDYpqTmZZalF+nYJXBm3Ny5jLWhVrJjx7SFLA2O3dBcj J4eEgInEzU9v2boYuTiEBJYySfz9t5UVwtnGKHGs/xI7TNWvja+gqjYzSuzaMZ0NJMEmYCTx 7f1Mli5GDg4RAVWJW9NcQMLMAlkSL5ZfZQKxhQVsJJY2LmYGsVmASpofHWYEsXkFHCTmdh9h gpgvL3F2y05mkDGcQPH3j81AwkIC9hIP9zazg6yVEPjGIrHizwZWiF5BiZMzn7BA7JKQOPji BTNEg7rEySXzmSYwCs1CUjYLSdkCRqZVjGK5mTnFuempBYYmesWJeSmZxdl6yfm5mxghwVu4 g/H1be9DjAIcjEo8vA4bGSKFWBPLiitzDzFKcDArifC6HgEK8aYkVlalFuXHF5XmpBYfYpTm YFES582SnRohJJCeWJKanZpakFoEk2Xi4JRqYLRtUdlhXRjW/OfV3tX6v4Qr6p/tsEufpeYm cybS5Kf0/syjpjsc0/9d5DXh3rmk4NxELsdUptcLmm79CA9VKsswNk0TWVap9fdLrsmWv9Ut XZPX+m7gENkudf3/vM+ruVbEvpUp6X5ctO+r/GRujcfTqr7PW13Vd/u50nbjCS+vJCR+1y0N qVFiKc5INNRiLipOBAAPtJJQWgIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprGJMWRmVeSWpSXmKPExsXCtZEjRffNC4ZIg87vQhYHf7YxWux9N5vV YsGbvWwWbRu/MjqweLzfd5XNY9qa80we67dcZQlgjuKySUnNySxLLdK3S+DKuL1xGWtBq2LF jG8PWRoYu6W7GDk5JARMJH5tfMXWxcjFISSwkVFi05wjTCAJNgEjiW/vZ7J0MXJwiAioStya 5gISZhbIkujvbmEDsYUFbCSWNi5mBrFZgEqaHx1mBLF5BRwkDj9YwAYxX17i7JadzCBjOIHi 7x+bgYSFBOwlHu5tZp/AyL2AkWEVo1huZk5xbnpmgaGRXnFiXkpmcbZecn7uJkawzzmjdjBe n2h+iJGJg1OqgXE/U5boA6vgs3pduR0T0lTn9PA3lhy/olps0/MuYI6K9JU/3WqiMkuiwvnf nfC6HcWj6Z/87sa0fzfzrkk8uq0ye7bNx4JzUxofy99K2fvY5dsZ1VlX9jRcOueTVJCmpys8 MeVT0sYTOaxyPJ3KYtE9LxW2+u53rLiaxqN39fm9M4uPxWkwMiixFGckGmoxFxUnAgD9r4ov qQEAAA== MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:63.163.107.225; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(39450400003)(39840400002)(39860400002)(39850400002)(39400400002)(39410400002)(2980300002)(438002)(189002)(199003)(9170700003)(305945005)(6916009)(2950100002)(77096006)(81166006)(356003)(86362001)(6666003)(53936002)(106466001)(36756003)(4326008)(54906002)(38730400002)(110136004)(2906002)(50226002)(189998001)(76176999)(50986999)(47776003)(1076002)(8676002)(50466002)(8936002)(33646002)(48376002); DIR:OUT; SFP:1102; SCL:1; SRVR:CO2PR04MB892; H:milsmgep14.sandisk.com; FPR:; SPF:Pass; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CO1NAM04FT023; 1:8wcZ3j7iMgeG43ZyR1NbnUP61QgYH31aMe620wUGW1FxfchXANKPOp4U1J/IADePyLthw/nO71Qja6azJKVKReGaMFGltkf9aRGW9xGsMPifoWOAcx5oUGLjYWhshiAPShHl1NGSxwm9HVYcniinN8TvrbDpZg0aUapxWKJ4wrpPJFzYxPujDPCbNxtsGBzUDNMMFGFHfVlq7Z2Arw1IIVfFhetuTs32/d+ZA0RYEFT/16hlEYfHcNTk+a+PrytvYZGwMI3DKZDZyISIVwlwJMXMdy7ppe+qFhCcprYt3bPxS6PXVRM7fEAe6zX9qbCSKrGoYtFZUKnJz3uww42A7WmMuItsf2TyVX4ByhQYXwIaGyUFJ8S4kJlsbZsXGOrS195N4iRhDP3U+8DgWUn9cGHlWbzUu8zSafbozeoIrTCtbAwl//f0vwuyTWBaeiGKY7fKQMC863alJsE2uWr1c+Y6BCKO+1hgqOYcYKGF+D58WSxy1mdoSlL+Vo2snwQY X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c8c652f8-8468-44b5-289f-08d48cd3521f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081); SRVR:CO2PR04MB892; X-Microsoft-Exchange-Diagnostics: 1; CO2PR04MB892; 3:Ug/SmRjD/eL3wORm7qBlpSrg2WEk2XQV2fnRfS1hjGIKsTV3YQpEu/gClXIQsFKbwmBcHP6xShpCmYg6TNoAV8Ga/ZK2utMhth89GzRqhsQC21s06q/cwt1Q2YeX7sOqjr6j4QZhejnhlPD8aIUibyxOWydK+Y3d9b4gFVcG9h3gEqflv8GHV6fscIe8D7cMMcBjdAX182upuu75ihNKPrViFA/rqewypOaex63tYl9n23TzNfvr3oayEdUNFw1bbqp9hSHh0tNfT3h8hQp69cisfjVN2iGwspAbB87ezqScgQFh2Z6USZLpRw6XVat/NBJKA0uKE+BOLaJh8g15P00RnGhwP2KsQxw28P6MKjzqKgDTnEUQuJWj08kjgpoA8S+FEnh0W4ZbWBYj82hchc2Reh05y8PyuH8BOhCZfbkyX13Qiw7tDgtRQkMZRd9lXIVADQdM3clw6cOmfmXFAYHywUy7JrE4oUU1tygfuUIc3CqZAWMEJ8/dLGyFBUlP X-Microsoft-Exchange-Diagnostics: 1; CO2PR04MB892; 25:UKHFDMeki7iwaDVPJeLpmZSgxmkY8odAbaa6bSB+2xV7/DpW810xFs4s51HaiUQPJzQdM0oihOiZ6+jnRCerNPDGkLk+I9AR6U5hZkXOgIgkEfJhDZYQLKKiHCKKFQRWsbAnZpc0TR355CW6usc2GGwvi2oKjE4EYWr5EtXoxziWGeRHu9IebW43nOmtKa4wGezZesZFASrsL12x582GRF6DFMyppRWnMNF7O2ttuyB61EUX2vTtycIxDQaErnvVf/FsiPJokVaOQ4U3pPQjtTXxYIH5kkw//HQXyjH+MBZV7h4/gPCGesCg+l9qJcNCvOSa3DwAS6O9wVOSQMB3s5xfzDKqzXV9PNxz6uQgigzYSg6H86HwaS5yqlBz55jR8/HMdMDDVnPX0PF2ctqz748blcC6MYNnmAcgJo8xHL5LmHO9tEh2zsmTWLPp4vujf6rj6xe53h35vtLLpYkoag==; 31:h0ZNMKw3j30XN2ho4ULH6P0Qan8RA9YYUJDIpg8TPYvd8OqdCsYNuvXP36GhqvMc8gQ9Pd1CCoY3jmPI0qKNZkljDevKerEn53mHMqmwb6lLrQI3J/WGr3yIDX3aeb590r0oHeq/TwnLsK6boadseU9HmiSSDKzzmiVel4HRWKYdBeqrnwlsGHJ5QDWgKCQ2sU7I67VDjwSEdOncdJjyJ8cgYBf+nCE5GO2/hGhKRUrfm8irnlOdmGoVL61X/90AkFpALYpRubz0jksm0p7N0A== WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; CO2PR04MB892; 20:UbvZoakYj8fE4oOKBMVJ6n1xD+i5zNmHniMGAS+rOvKPsw3mXOgpfckgriPfOdPcX2plyoNOVrreYNrH1Is595Kv5/W0WhXYLc7YnBAYKF1erZYNHC6FWYm7uaV6etIxqA15o1DH566vF5zmMHrUSCx673uznsCEhGGr3JhyDmAQRLa66Yi6n66ogn2uUKaXXiVGhO8od/dWP8rzMvxb+cs5LR1ctIPpCfQMCnKB+OGDk63nsjSQK3afKGH4jo+omXgY4unDlr3Zb7adxEmkWhaJVKtz4lsAu8NI8ScEYSXTJHcQhkEVlM2NCi62zz6Bnu21peq8jRhNDfXq5oH7KO3oEWOFAvzAkep8iukBjTIrxNweuaYotoZS61GnAaKohJCZRcuaiGJgJgRm71sW2LJ5HCz6dO/HrEuKou1Y7D3vpEKdc9C/hTylvOEra5IQkIETSp+d4QKBY9lsSiw8z0rWP/GC+BdYp6bCHCthI28onDzs0XnWfVopPNaOlVI7 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(42932892334569); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(13016025)(13018025)(8121501046)(5005006)(10201501046)(93006095)(93004095)(3002001)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(20161123562025)(20161123555025)(20161123560025)(20161123564025)(6072148); SRVR:CO2PR04MB892; BCL:0; PCL:0; RULEID:; SRVR:CO2PR04MB892; X-Microsoft-Exchange-Diagnostics: 1; CO2PR04MB892; 4:c9utMQQUb90zdbX0c+I2VbmJ+saXap//X+AeFEeEb2AtmFxn+x+I9lF3bIyk03uuHsEbXZfOYzLkY6iqGhikiytFJquIKqpI7GJsKHQ+LxBkNFL6ftRSadnAD6luFu/FtFoYjRG1TAkX85YdHYFPuEcyjWxcKqcPHcbTJQkU6bt8WoEdbhzmv4duOWmSeFfns8O2gONcaImMNVJa//NSZJqoezKbRloKvX5h3dYCmYvEBy1V3RFHQInpGdVUyVOPzlruURo82g6i57ImnJWSvvTMSugclS0PAM4lZmWokAC+GFNLZd6QOVdqUUrRwps0/L18gH4kPEGveQvHmnlY0PVt4WOukz2Ng8YkSVKG6IyzzRsHreznNoceHIjQJzD3eoqOkNzAd9Qr41hvsyVdP2AOq/EqFiflUXC9L0Kn4ZrOC7cnEwALWAQtMORLb6+6UgzjFUomgeEmQANOOOgVfxCWLNankSBAqFC/Ay7bG3/gQqdQOD6ycOCfw7bvd4EYYPCXhG3j/MsuKjS+FZK579aTcBZKkA0MfV4TjPe2LABQlUE8Nej2lnj9mJ+KlUT9CurA1+0YN8+DUOenY9RPr8ZexL7eSmD04yKRp1MJKZ+kCeTTYSPOTq1/FNDndT3u6cqOOzSE2GnYXf5AI8ZGyFNW+zFFAJ7+p/Ax+Xs2MojUZPjgAXFlQahitQJeH+qcCtr/F/5zCLKAv6uMputVwriAJpZUG0AozbO0o5TSg3XQOSOUCYTusQ2BaeHisiRHAHKdzDyiwlETTX3H0CyUJgPl6MGvQKuYaqbpjOe/6PU1FlsGco1OFk+MMttJpXoW X-Forefront-PRVS: 0289B6431E X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CO2PR04MB892; 23:Ksxzp5/wMEOBS7WmWpn/iJQUpBGG+6RUZxIgZ+Lx/J?= =?us-ascii?Q?psNIXD9Tskkxk4J6pYuxfySGOaKIGqnDu0xFsY3osWpGGavn0FeYtAztJze7?= =?us-ascii?Q?qOibcNbmhy+MQawGSyTgeL76Am/VkSYbFOCLXNF40p03mP5X/mcw75U5vq/O?= =?us-ascii?Q?EHrKXdPeHG75KRLauBtJr891Dm4QiWMeB4NapEhP0RE+98pBtx/KmiXR2s+6?= =?us-ascii?Q?ufZSQ6haZv3A+FQY8oxaBdIY6cnMYkye/NY5KHp9d8/YrWzWsC6Mnka0slUm?= =?us-ascii?Q?pHR82zNqngSo2cNC7PrAuozxPyYtS+VSrHG+C8iGYQ1Mf+ghQJVhnL5Z6Afr?= =?us-ascii?Q?hLAubN6whvGGTNAFn/+BVyPmfC4STCBKF0dlhZL7dqG3bXN5zQo7h+1dX9gu?= =?us-ascii?Q?reCd2kAtUMgljPNirR//uL0+S5MAJoOidRWAUQ9eyOVJ1l9pFRUzQwucC9Oq?= =?us-ascii?Q?Mlidp2KXvcwXmbMfshFycDorZXbwcW7+xQVFTW9+vQ3Lixxxmy56k266a374?= =?us-ascii?Q?5/jUfVbkqAWoZeEV+S+zKRVZ7Is7ss/hloSo1EUL8ZWivlNjoexIaD9IkRhF?= =?us-ascii?Q?lZ9qHAV6MIGg8pgDsx1P29lefFWa6Lj+9mU/4DE8nJpML7AvD4TSKM9KtBqm?= =?us-ascii?Q?HBK2KhgdqLJ9hsdqS/nvjmTuQPCPL8Eax9cjGzco3pxRYa25EwVCunN5zzCd?= =?us-ascii?Q?jGTtF82pufeo2ArvjHBrVB3c5Hq35AfIe1MSe5EYW/QacPZbz/w4RXMTxUrm?= =?us-ascii?Q?7WxmC96rAgPO5dGDDmqa6UroooBh0ojbkVcRqen9/J8A7NcPJg57La9fmD5f?= =?us-ascii?Q?urLVSApa8xnYzK83RRcxpGYvv1M4EwZkiiK8Z2jK9OMPlqQ3+bTsVYIyPRii?= =?us-ascii?Q?IUjVRelPXmNLzGVr7e4jdoVdK4aXLyY+HXvO6fBNXgEU7Kixslm4rvykZEkz?= =?us-ascii?Q?CIjJqqeVEUP4azXxhjaTChrSjt6zJtpClW8wzEiBgdf+T3yCwEKA/KiY8W0l?= =?us-ascii?Q?0=3D?= X-Microsoft-Exchange-Diagnostics: 1; CO2PR04MB892; 6:F/NWxH2LQbhPXkMuf0p32a+Wmsz9f1rhGsNbjKQX6PGWQVwmLOamsTltGE16gQwviWmqTebUwCqBG1Ozvxf3yMwEeDH2NP9cXhwRYmy8t+BdPcWa26MeJJI9ruy43MCb4DqBPsK1N5nfomSSu+p60o7vqguBpSEXgOE6juCzAJ9eMuazO/Xorh8ZVFzAizUeIAfgJ2WytlTS6ZeJUDUv2wcbzeoQROzQ8LaTPsQllSRhlwSvs6WYdpbIyfXG9Kfa45n3MCg0hH4747rKbQFdRyNXZzg7ooonqGdhyXb2gsIgbUB7MWpPEyOZU6eg9BuZGdmASxb7oy++DqX3t1N8s6cIwMQTz5M6jgLBqlC8L/D42xd7oFT0IRwQ3busubSdPqaJlmwajmEzF0XfPokg+z7xlyiBqJOFLayWYgnUepksfzippvW/dzBx3FH/nbYuXBZpvsKeKWjkmPRGtgdDTKjXaoh0f2v1Fm5EuOa0r6kHYstHcL97zVhaV7EY4Z7FPjx4B0cFVbh4iBMtXygM864d9ICLdXur6Si+ypuzbOc=; 5:usuO50MzCkogIAmiMD2uz2MNbRt/ryGDt8/oxsTMpGMBU1G+xpz4q3LTv7fz0g/By4UoDxhcBsDxnrSGl63uu6J+UTR/p20mYQZ6c5Tk0kpiubavIaP2t/yx+oHGP3RR2ukSXx8iL0CLZWMwFqjD1Q==; 24:9ugv1eyG7Q/Rz/dn9TJeVd3lLAzrETilsBfUZz7sux2urv4gN220GNIWExhSm52FvOCDogCHjx7KsXhq9ROY6V6AFxe8KcniU6/8AYxMKRU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CO2PR04MB892; 7:NHDx1Vcm1EQ44QqLq/7OFuHJB7w+cCCcR3X4SJtbfLEACPBkiklpjfw7TD+/nnCWWjlcvjFNxNe9f7mCEpRIvEq+wbNDGX8eofK07c2Ej2W1irJE0ScFzV+nlB7877Tg14JR56Q7RnD2QopPQevq1oOt01iTuQuppDjPGDT8fbKGKoAWZVuVl50VjZBHbhEAL/o2Ky0gWClm1JSQMyAbBh1JOszqVD+rrNv7sYnLpcYslJQMu7w2g2NmOTpeX+U4n5Ru2YhGPwL5GQPTS0ZGzLX8H17TEq0wsFjGhYT7ZiCvcm4c9CeZDyKvwuowZf2JzCzGN+NMj/jPIoBYZSP1eg==; 20:6WbWjCnWKMIzasTF4oMTy/1fiIMyHNXfGuVQmNcwj11eEvMZUT3bOJ+4WYuLe4cKDehwhxFPbjpX7obMVzv9IAZxvfopzJa9DUJkDI2ee7pqFnKCSiUwXvyvSRYy8jle7hi3KMrhhj/VHBro0bCFjs8fbisl3D3Hr/D94TJRNVY= X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2017 18:37:40.4688 (UTC) X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=b61c8803-16f3-4c35-9b17-6f65f441df86; Ip=[63.163.107.225]; Helo=[milsmgep14.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR04MB892 X-Greylist: Delayed for 110:56:15 by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Wed, 26 Apr 2017 18:38:34 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Wed, 26 Apr 2017 18:38:34 +0000 (UTC) for IP:'216.71.154.45' DOMAIN:'[216.71.154.45]' HELO:'esa6.hgst.iphmx.com' FROM:'Bart.VanAssche@sandisk.com' RCPT:'' X-RedHat-NoPTR: 216.71.154.45 has sent a message and has no valid PTR record X-RedHat-Spam-Score: 1.192 * (BAYES_50, DCC_REPUT_00_12, DKIM_SIGNED, DKIM_VALID, RDNS_NONE, SPF_PASS) 216.71.154.45 [216.71.154.45] 216.71.154.45 [216.71.154.45] X-Scanned-By: MIMEDefang 2.78 on 10.5.110.29 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: dm-devel@redhat.com Cc: Bart Van Assche , dm-devel@redhat.com, Hannes Reinecke Subject: [dm-devel] [PATCH 11/13] dm-mpath: Micro-optimize the hot path X-BeenThere: dm-devel@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: device-mapper development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Wed, 26 Apr 2017 18:39:01 +0000 (UTC) X-Virus-Scanned: ClamAV using ClamSMTP Instead of checking MPATHF_QUEUE_IF_NO_PATH, MPATHF_SAVED_QUEUE_IF_NO_PATH and the no_flush flag to decide whether or not to push back a request if there are no paths available, only clear MPATHF_QUEUE_IF_NO_PATH in queue_if_no_path() if no_flush has not been set. The result is that only a single bit has to be tested in the hot path to decide whether or not a request must be pushed back and also that m->lock does not have to be taken in the hot path. Signed-off-by: Bart Van Assche Cc: Hannes Reinecke Reviewed-by: Hannes Reinecke --- drivers/md/dm-mpath.c | 70 ++++++++------------------------------------------- 1 file changed, 11 insertions(+), 59 deletions(-) diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c index adde8a51e020..0eafe7a2070b 100644 --- a/drivers/md/dm-mpath.c +++ b/drivers/md/dm-mpath.c @@ -442,47 +442,6 @@ static struct pgpath *choose_pgpath(struct multipath *m, size_t nr_bytes) } /* - * Check whether bios must be queued in the device-mapper core rather - * than here in the target. - * - * If m->queue_if_no_path and m->saved_queue_if_no_path hold the - * same value then we are not between multipath_presuspend() - * and multipath_resume() calls and we have no need to check - * for the DMF_NOFLUSH_SUSPENDING flag. - */ -static bool __must_push_back(struct multipath *m) -{ - return ((test_bit(MPATHF_QUEUE_IF_NO_PATH, &m->flags) != - test_bit(MPATHF_SAVED_QUEUE_IF_NO_PATH, &m->flags)) && - dm_noflush_suspending(m->ti)); -} - -static bool must_push_back_rq(struct multipath *m) -{ - bool r; - unsigned long flags; - - spin_lock_irqsave(&m->lock, flags); - r = (test_bit(MPATHF_QUEUE_IF_NO_PATH, &m->flags) || - __must_push_back(m)); - spin_unlock_irqrestore(&m->lock, flags); - - return r; -} - -static bool must_push_back_bio(struct multipath *m) -{ - bool r; - unsigned long flags; - - spin_lock_irqsave(&m->lock, flags); - r = __must_push_back(m); - spin_unlock_irqrestore(&m->lock, flags); - - return r; -} - -/* * Map cloned requests (request-based multipath) */ static int multipath_clone_and_map(struct dm_target *ti, struct request *rq, @@ -503,7 +462,7 @@ static int multipath_clone_and_map(struct dm_target *ti, struct request *rq, pgpath = choose_pgpath(m, nr_bytes); if (!pgpath) { - if (must_push_back_rq(m)) { + if (test_bit(MPATHF_QUEUE_IF_NO_PATH, &m->flags)) { pr_debug("no path - requeueing\n"); return DM_MAPIO_DELAY_REQUEUE; } @@ -581,9 +540,9 @@ static int __multipath_map_bio(struct multipath *m, struct bio *bio, struct dm_m } if (!pgpath) { - if (!must_push_back_bio(m)) - return -EIO; - return DM_MAPIO_REQUEUE; + if (test_bit(MPATHF_QUEUE_IF_NO_PATH, &m->flags)) + return DM_MAPIO_REQUEUE; + return -EIO; } mpio->pgpath = pgpath; @@ -675,7 +634,7 @@ static int queue_if_no_path(struct multipath *m, bool queue_if_no_path, else clear_bit(MPATHF_SAVED_QUEUE_IF_NO_PATH, &m->flags); } - if (queue_if_no_path) + if (queue_if_no_path || dm_noflush_suspending(m->ti)) set_bit(MPATHF_QUEUE_IF_NO_PATH, &m->flags); else clear_bit(MPATHF_QUEUE_IF_NO_PATH, &m->flags); @@ -1523,12 +1482,9 @@ static int do_end_io(struct multipath *m, struct request *clone, if (mpio->pgpath) fail_path(mpio->pgpath); - if (!atomic_read(&m->nr_valid_paths)) { - if (!test_bit(MPATHF_QUEUE_IF_NO_PATH, &m->flags)) { - if (!must_push_back_rq(m)) - r = -EIO; - } - } + if (atomic_read(&m->nr_valid_paths) == 0 && + !test_bit(MPATHF_QUEUE_IF_NO_PATH, &m->flags)) + r = -EIO; return r; } @@ -1569,13 +1525,9 @@ static int do_end_io_bio(struct multipath *m, struct bio *clone, if (mpio->pgpath) fail_path(mpio->pgpath); - if (!atomic_read(&m->nr_valid_paths)) { - if (!test_bit(MPATHF_QUEUE_IF_NO_PATH, &m->flags)) { - if (!must_push_back_bio(m)) - return -EIO; - return DM_ENDIO_REQUEUE; - } - } + if (atomic_read(&m->nr_valid_paths) == 0 && + !test_bit(MPATHF_QUEUE_IF_NO_PATH, &m->flags)) + return -EIO; /* Queue for the daemon to resubmit */ dm_bio_restore(get_bio_details_from_bio(clone), clone);