From patchwork Thu Apr 27 17:11:24 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: 9703243 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 73A92602CC for ; Thu, 27 Apr 2017 17:12:36 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 673FC26E16 for ; Thu, 27 Apr 2017 17:12:36 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 59C6228639; Thu, 27 Apr 2017 17:12:36 +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 AF72D26E16 for ; Thu, 27 Apr 2017 17:12:35 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 9423F8005C; Thu, 27 Apr 2017 17:12:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 9423F8005C Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=sandisk.com Authentication-Results: ext-mx03.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 9423F8005C 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="nKCIwGy6" Received: from colo-mx.corp.redhat.com (unknown [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 72B4B19624; Thu, 27 Apr 2017 17:12:34 +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 D50595EC63; Thu, 27 Apr 2017 17:12:33 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v3RHCWbq029835 for ; Thu, 27 Apr 2017 13:12:32 -0400 Received: by smtp.corp.redhat.com (Postfix) id 6919817143; Thu, 27 Apr 2017 17:12:32 +0000 (UTC) Delivered-To: dm-devel@redhat.com Received: from mx1.redhat.com (ext-mx08.extmail.prod.ext.phx2.redhat.com [10.5.110.32]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 629AE1713F for ; Thu, 27 Apr 2017 17:12:32 +0000 (UTC) Received: from esa3.hgst.iphmx.com (unknown [216.71.153.141]) (using TLSv1.2 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C9F7AC05AD7C for ; Thu, 27 Apr 2017 17:12:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com C9F7AC05AD7C Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=sandisk.com Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=Bart.VanAssche@sandisk.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com C9F7AC05AD7C X-IronPort-AV: E=Sophos;i="5.37,384,1488816000"; d="scan'208";a="13585358" Received: from mail-dm3nam03lp0019.outbound.protection.outlook.com (HELO NAM03-DM3-obe.outbound.protection.outlook.com) ([207.46.163.19]) by ob1.hgst.iphmx.com with ESMTP; 28 Apr 2017 01:11:40 +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=bUKjD+xgLQNmydeczL61+QOu68ezX4qpP19x01XNfh0=; b=nKCIwGy6h2i0hxRLqyQWc3jccqEbilmZvG9APU0duILRnlDsHQWxdmLNSHQdSbPVsOlTpevAd5qTX7mR+C1AU5T/e7g5fedFeDCfci2pbVkHDfDLWk9CyQiC/fnOW2rVGQyX0IeYbFq2lUvYJ8xn4uDepJrrwSQ7AAZgi5PquKM= Received: from BN3PR04CA0007.namprd04.prod.outlook.com (10.166.70.145) by SN1PR0401MB1773.namprd04.prod.outlook.com (10.162.131.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1047.13; Thu, 27 Apr 2017 17:11:37 +0000 Received: from CO1NAM04FT050.eop-NAM04.prod.protection.outlook.com (2a01:111:f400:7e4d::201) by BN3PR04CA0007.outlook.office365.com (2a01:111:e400:7a4f::17) 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; Thu, 27 Apr 2017 17:11:37 +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 CO1NAM04FT050.mail.protection.outlook.com (10.152.91.145) 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; Thu, 27 Apr 2017 17:11:36 +0000 Received: from MILHUBIP03.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 6C.F2.19026.54622095; Thu, 27 Apr 2017 10:11:33 -0700 (PDT) Received: from milsmgip11.sandisk.com (10.177.9.6) by MILHUBIP03.sdcorp.global.sandisk.com (10.177.9.96) with Microsoft SMTP Server id 14.3.319.2; Thu, 27 Apr 2017 10:11:28 -0700 X-AuditID: 0ac94371-41ba798000004a52-2d-59022645a755 Received: from exp-402881.sdcorp.global.sandisk.com ( [10.177.8.100]) by (Symantec Messaging Gateway) with SMTP id 90.F6.11415.04622095; Thu, 27 Apr 2017 10:11:28 -0700 (PDT) From: Bart Van Assche To: Mike Snitzer Date: Thu, 27 Apr 2017 10:11:24 -0700 Message-ID: <20170427171126.26814-12-bart.vanassche@sandisk.com> In-Reply-To: <20170427171126.26814-1-bart.vanassche@sandisk.com> References: <20170427171126.26814-1-bart.vanassche@sandisk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrJLMWRmVeSWpSXmKPExsXCddJ5ka6bGlOkwVtmi73vZrNatG38yujA 5PF+31W2AMYoLpuU1JzMstQifbsEroyWz3UFfYoVNy7PYm1gnCLdxcjJISFgIrH+9A3WLkYu DiGBpUwSCzd8Y4dwtjFK9B1+wdLFyAFWda5JDyK+mVFi39rrzCDdbAJGEt/ezwSrERFQlbg1 zQUkzCzgLnH65Ts2kLCwgL3EjLflIGEWoIrZN+axgti8Ag4SsxtOsEPcIC9xdstOsImcQPHt 5+cygthCQK3/FvxlhKh5zCLxcb0TRK+gxMmZT1ggVklIHHzxghmiXl3i5JL5TBMYhWYhKZuF pGwBI9MqRrHczJzi3PTUAkMTveLEvJTM4my95PzcTYyQAC3cwfj6tvchRgEORiUeXoYPjJFC rIllxZW5hxglOJiVRHhPKjNFCvGmJFZWpRblxxeV5qQWH2KU5mBREufNkp0aISSQnliSmp2a WpBaBJNl4uCUamAULKm9enBif147r5jM16sNKf+cmGZwL4nui2VdukTicOypajZRNxaFjb8E FcwuClZcbFfjqrp5YsUN7bfM7wWsGv89W7FVxzqCpZBv3Vdb4/L2595fLIw+36146sT3dhpb 4Z9N5b/bHN/rLJT8cPRkqVNTbMWnebJ+l3/Lbl1mNfdrG39xRLoSS3FGoqEWc1FxIgDTPHXb TAIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupkkuLIzCtJLcpLzFFi42Lh2siRouugxhRpcLnb0OLgzzZGi73vZrNa tG38yujA7PF+31U2j2lrzjMFMEVx2aSk5mSWpRbp2yVwZbR8rivoU6y4cXkWawPjFOkuRg4O CQETiXNNel2MXBxCAhsZJSb1TWbvYuTkYBMwkvj2fiYLSI2IgKrErWkuIGFmAXeJ5tbnTCBh YQF7iRlvy0HCLEAVs2/MYwUJ8wo4SFx/oAkSlhCQlzi7ZScziM0JFN5+fi4jiC0E1PlvwV/G CYzcCxgZVjGK5WbmFOemZxYYGuoVJ+alZBZn6yXn525iBHuWM3IH49OJ5ocYmTg4pRoYDy69 vm019/OKf4+/inE/LT++fdLHrIopxxv/2qXcWHrjx9Q/MQLFevx6iz/wVf685/0w5tvBpqkT dvInb3Kc9UrT6jPX0UtPfZpZ0zU/ZS3j8PnKe2bRzKmrJF767M4UOZAenbWQdcOab71RS9dV WC4OXJ6f4Xjqlxpfg7EXs+eiu9vFpe7cvabEUpyRaKjFXFScCAD/T72PnAEAAA== 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)(39840400002)(39860400002)(39410400002)(39450400003)(39400400002)(39850400002)(2980300002)(438002)(199003)(189002)(9170700003)(54906002)(36756003)(2906002)(5003940100001)(4326008)(450100002)(53936002)(47776003)(189998001)(50466002)(38730400002)(110136004)(107886003)(86362001)(76176999)(50986999)(305945005)(5660300001)(356003)(8936002)(81166006)(50226002)(1076002)(77096006)(106466001)(6666003)(33646002)(8676002)(2950100002)(6916009); DIR:OUT; SFP:1102; SCL:1; SRVR:SN1PR0401MB1773; H:milsmgep14.sandisk.com; FPR:; SPF:Pass; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CO1NAM04FT050; 1:+aP53uGIWBxmgHumlOdcTLlNLZP5AcLQdTpDEr+NE5CtPHo9I5gm4btZgJbrhUSeVjqNK+gS0dXGi/8Pu5MZgOzT8/AxDeT63F1+PfdDt2PGGI/fr8ol1ibcjsav4tWoXiA/i1nlQLku5JVB5IxiiRHkCxyQ6scddJNUAKFtvdvIVTs6FGL8nr2b2hRW/o4Wlto1n4c2VPcdHh0ZeqqvpIhJjNRtTR5DNW9EZL1gXGDMuem+/T8ckY8LHhiz3ya5oRPEGFjN1qUXrLALbR6NWgGYAwuJMlANsAQ8OMRWOdPQquYj1dwWHemxH7/iwPQuO/Dpt7OjIrsZrkfBh9D1XPXYnPU3ua0M16VESjbIKNYDOk1RuVIXBmnoQR/i5X97u6rQxSq4B9c9r+9UM6zjrBoqUOKIKldzACDeJFzH0MZ68QeSvnOpEiaNZLYJTuKqdoBPtE7dqpmhdWizsgA3Bn3WyDgPfuqy6ezBOx4qCMR21GfcgcJUDgmlPG2+wRy8 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ca2475d3-247f-409b-cfbf-08d48d907664 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081); SRVR:SN1PR0401MB1773; X-Microsoft-Exchange-Diagnostics: 1; SN1PR0401MB1773; 3:r2D4r/Nf9vEnUJbdMKpxWaegUL6vWcWwhb/xjmTtiJi7Xd3wYbH9TpcCr3eddiQpbs7gtU0jvK2rGBsvclYlo2Zx7TkPlfy+svWaRO5yzgUWoKoPL7lRc/ZIEiEEaL7UO1Ce+vad+FcCzfoPLDQVIGm0oEE+JgMgRo588QtRKsZW0Cv1J+hEIW0ug5cCe5GGvtLEXTb/gNWq/9tO+GwNIkMlSvK3gqA2Zc0C/ikOD5AXMSOGQ0phY7CNXxR8hteYKaWa0zNTeoEAgJV1BqnjPfoAL1UkxBdmaqkDHt97MdEwmVSHOjxxIsSX3RhoS02kl5oBVo2xyTGqzQPiASUGBdiXtnmI9YWAbhxlSE5Wit4sU1G+7AA9vkRmBIuwLAx4keHZ9K4kaWODWxm1yWbc1hLFvgfrW8xHkQdtRqY4G/YzSqsN3wmBPoHsOfgW33QKuspberhyBOA8ff/2/KZMylVQ2oYRkV86rUPa52hofkbbHhzWD1NdDacZW+l4nlDD X-Microsoft-Exchange-Diagnostics: 1; SN1PR0401MB1773; 25:8Z+hhYgLDw9fJJuqzGpwmOELeSuLHLSJYout1e8I9341sGdl7Gg5VRRDa690OsIJj/1cEiFsxQF6KQQR5/Yk/jp+8dOdsy+cEVjK7dcA9sIy5683vN+OmDIfNkT/3pQvFLDOtE8FofVVbqeWqfZUZ93R32OhZOQxSoZY6CVQcNHgofRPv84ElReT/TTmFXpO9UEjMbJyu1VTfgeCQKSVABiZH8nzDFblK93cuEUF+4Fwy87rQwKctDzsZS8vcWLfncakrJgQ/j3nO4DBzvOm84qcY48j9B0nfng7/RwB987idvF4sYFSOoTw5JiG/IiliArdc1RAMscFN7loAvH5VJkbaIHVDd9cxomb9kEombyamPPWZSV08cq9DlUmABXqiiKJ6Drc6nnZpcRA7CcsiHOagSVEuGNkL6s2B0QK9bShd0UM/FZIj7wo4I8v551zDpe+1Ry1NeU76d9OqdPMTg==; 31:GGP555tmHL0mizJlL2ERpjbfHF5PGmNI2SBXY1D2b70JM8C9TuFICIHNX58EBmPo5gDsNW8cQj0DQ6+4stGmHlr4QCDIPSjuWDoaOGs86wO4o7XnPSAE+NN019K9XIeGrhz8kMSFSLDfY04v+WrWCsiVpHi7UafE0+ph7wEHbdLR1BlATsKMSv57t+dGDIt3djL89mQRpUIrWg7Jisps+RJ7JKtlq0pDOezafkDdTwWT7w5UGC4RqAXnuuaa4/Dz WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; SN1PR0401MB1773; 20:Py2PvIXn/jBgfavaXPP2T0zzonny1MRsVc+9Znu6r1KQoj1XfaYMwkmL9BoFvfd9fE0B+FqV2eIH04LrHWKMmocBNGK8ZKGm9I/PWRzgNw95GTDRNCXH4IFBkfVEkEv6y6XdVRS7PKFAVLX8HM9+jKsj4bnVpk6T4Di2+qdyo8HM1cZ494Bp9Q1MMpP8571NHG0L8gER36EqBzH6SWiBNo3yoV16abytb2cu/bA1JjEGuSYbcIjBjPXxoSMvZoT43FbpjgqRJJWXeoinx5I5EOEt4wjIRl439srOxxqls52Iw7JQ4utG7nHuExYn09ZmzpdphXPzSGTFvuqEJGYP5drTo2ZxWG9dIl+/TO+4gq7zB7FCgmSnGoC/ldj4D+Dmzc4TQZ0GDlWsgN4fVQjQfnD0BF5KRRA3Kzi8kM/lkouXVYotBcUpCra3a0i/d/MzvzHqaSrdqiYTuvxpALn/AwqL42PmlxZv1YBOkZEX5Dj/bo9rQ1wNIuDJEhwnlVIi 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)(8121501046)(5005006)(13018025)(13016025)(10201501046)(3002001)(93006095)(93004095)(6055026)(6041248)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(20161123560025)(20161123564025)(20161123555025)(6072148); SRVR:SN1PR0401MB1773; BCL:0; PCL:0; RULEID:; SRVR:SN1PR0401MB1773; X-Microsoft-Exchange-Diagnostics: 1; SN1PR0401MB1773; 4:HJNXaN4hUseNnI6+kxRF6DgL12auqLuLOZg0oA/i5OWE/oN7UxlO8sq3+vt6UYF6/7sbl8/51zsWe/WA8SQDwfTY5ZRWmldyL9oroAKwJBQlp4QZBtLcUFYVC2boctdQJeP5oGnw2y6o15pevMKgX/O7j4GZh9B58tVLGwtlS4KBvUGlLd+UxFbYk58+dLMnAoJKFGddcLXccKuTIcyymKGJ3htWOGsAGqNa2ig0UNrRf7jmfYvRdDIJYncSS2Jj2KBJY2DusfUMH1DpST2gfgMZrjYUe/Kx3RDq+ahNljxA7S0YvsDBUkncCxmYOXvhpWF4sqUSbM9JNFMEUS281KQxKOXPcvIJpizt8nBZjbhKfOdwhqGPkOF9/eG3TvHRnAa0QAgwODSnf3NNxfaBuZ29miaiS5j9TVoUSfskX+psw/f6KP0vj2VTkTo62PfwYSFH5pjmq4PUS7cCMHalik99vEw8zcatVIM4AiUWsvpbyA1wjTCqusIZLxNg5pRGKrbjcUbKjt40u4iXJJ3st0o9J02HgBLkVuARjJCk0eD90eQEZV8rjqf3jFSA0uRoRw2/vSg2VKVTVpnLwlQXFq4QaCsOrQcOQxK3VVbYzg/Ozv8cB15UeWYNx+aDFZ4yOb7BdY9xuP4ilrI/cLRquRt5S35B1Dhan1X82ceWGUeth/MS5g3p1z7M6nAbadcCfkQIsXWRRTP7vyPIf/DPs3TKhSJ3cPSAYeHnfhtLeAQMCVeSaplGlEz7EFEZN1KJKsqzIas6YyPQgsbyVOLt7H+zKFT+RVM1uu84lGePLU4iDrqviauyWZWjxSV5BmUd X-Forefront-PRVS: 029097202E X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN1PR0401MB1773; 23:XUL0FZ3qoN794v0l+SY7vlvrTC/HlR7C1gCllS+?= =?us-ascii?Q?YtjJg4jNDBIPKn9ilx6o/i35PSplamMyh/12F+Gjmp272H7F9ajoEMF5Lzk7?= =?us-ascii?Q?H6RExGaJhbC2wdvTBM+oDW2Tf6F86K4q+vdssh4uiN3QChr8QTXxblNuVmU1?= =?us-ascii?Q?01eeZCE0nsVPE4p/jsQrWekvVmEc6e60k0s4AyKyZUyIfekIsmKAqPOgsoL8?= =?us-ascii?Q?OlXsYkf6UNGmMIQZd0Xrp9FQnRyHMT+WgUJkOOj3QKQyUBhCKeyPKMEupKFc?= =?us-ascii?Q?hQdyE0a7GtvGxpROp1LHyY0RhEwtITCSo6RjaX1me4YUJS3/2KFAOjlxIxS0?= =?us-ascii?Q?FJaTerMgnn864ORN2k/QDDVksmUYCAgPPmrLPZHdt5H+ef7yMd4Yd9Zhj7Xo?= =?us-ascii?Q?1fQguA3T74hkj+o6U/1EZwHaM8IPHpWzMhMVnjtArIOIFmphqwhcF/clivfZ?= =?us-ascii?Q?HuMTWMUiZJEXRkKQgHOeaGIzi/+zl4M405TS5KrlB8fuW/8E8A7L3zFnc8Wo?= =?us-ascii?Q?BHpE2sE34NMwok7TVO2HIQoINRiWi65aY4ffUwNXKZGQy+34mQBhcEDo+0mP?= =?us-ascii?Q?ba09nrM4JgBA4o7ybnOl4oipECA3eGweG+1MlCTJ7FY09zB5sy2z6cNJfnyf?= =?us-ascii?Q?Gz2WWSHXrxEDIpwWeatt+3DY3U32d2BBk2h2ABTq7q/wcKqTFb2HrEaRQmyE?= =?us-ascii?Q?Z6FdWnREvvy/LI7qygjs0wA9KW7u5rvJvy2D/K55p+8mYnt1qMX2hURUXIFU?= =?us-ascii?Q?Idjh4mtai/F1Fk+672F6u7QiR/qcYQ2ZaheUV41MQSsRvZ6jufnaT63GqS9D?= =?us-ascii?Q?C/KByQT8zA76GRzCctTQkn3cq6WDQfQwgUqlyYDtTrEc+Mi2CQrV7X4MKbj+?= =?us-ascii?Q?JgdRixZdebBN5hKssrRcYAQwlib+1+M1I6v6ZFpfc7kQ2b8mk/IrwZi8cQJQ?= =?us-ascii?Q?rGy7IEGBj+opBjQ9PHyFRTCHrSTOr6qhS/A8vc2eH+TvGraAIrQawZSVF1DV?= =?us-ascii?Q?2n+/9o8fEtRM3JYAc1jhsi/A7dFcqX1bk/LIIy8JmVqjnjZvry8J5jFcT/6d?= =?us-ascii?Q?NvhaqxI82gGSpcsgAi1nJpXvxEfQh?= X-Microsoft-Exchange-Diagnostics: 1; SN1PR0401MB1773; 6:lKbHcE+xRErmpfXxNjp7082YCIPpT8/08OpP47QmkKC17SG7nOgeUgXX4qU+FuH2wM8++q1H38rOi2wTYfCXx65eQT78aQHi1fORNGFPP7cfEb2Ks/BVdYzwfP2UOZWmmBCLbL0pNPNLZPfoXbbrjDxMlU9Hd4FMqwtDNZkpA9enmMXtQ27yQMDc29wGef/k8BocoaMtLbCiEfQPoqQpjq1TnOBpTVV2SwWkczE3FR7MEg+fQAJXpzsP3niSBDlpMnybkH91nxHxBoRs5jLj7VWPET7yG71zpl+OqbgfMuB96gqeKprG9NHCRuV16X2RhOuYLDxyTIhGCuWPOq1sDQtREIT2C4vtZKmX0LOkOh1cS4FfJlaNXAQgRTY2Qp2OxaoSG3ijoI/HSR8Q9pbUVes7VV442dP6SZL0zQkWks6KmfEAJbbM8uBN/3zHqh/Q11Ph7y5LgdX/EtUF8g/FnIO6B1h8j1MlfWOrDZWdZygJ7HNGr/QVz8saUDskxvoQLyzAIpIBHW1CkB97kSDTuRCLMB1Puz8t1xshGwh2c9w=; 5:GlYL5OTQocjv8srSv4hLfAPSAmtnXS2z8Srh9/+73yeBuZJuUC/7MMVhyDk5PiMn9tnAJUI2rGLeD0eC/XHSXxD8fLCr+EVs87/m6gh3qk5Xyui+0z1cniEMJUh0PiEkeIG71myx5AYWnT4fo0FzxQ==; 24:fmVyj9g6t+gZFPFNknu/bjMUEe69tAcB8rnecQ9dvqRoip3L49uOZVRykSWFXXqJjxKgqCgt1zK7lKEAovVoYDmfeT2aaT84dmJMhcjBq1s= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN1PR0401MB1773; 7:ANDJtkwJuyv/OvGdxwR8JHnRJpvQv6GHVDsVWAHohjuBEW1ZXIMD9YCckChKjI3rDp880LPgo2mix4iqNPE8LsA17f9DQ428Kjj/QFwR7gx3zjRlJiRl0iivM8NECuGMVEIf4esGqTBGY3FXOv8iJ4CUS2sVfxYEKfraGqlR09wtWOfPOCwAFssFcZUPjhyKdgHPFOxi+wnJnO3w1U1YEcIl6zaTSSBCavUo6BYArCmGhs3vm05QI4P8h43zbxLNH7BGihQgBf9Od1lPr3sPSEbFmzxSTAHxaCb+JHBfxwiVtceXRo5sGCA/zqlRH4v6NVK64oksL41/63WIIm7sdA==; 20:tNm/MhuXyVWDPAdI/uTYqP8DCbGrooIg4xAiHbCNsakJLwljvTSeAwNu4DNDE9ErTLSYt62O2EeCo4RSYt2G4Hln8WT7UKATQ9JNdyEp/0HcGBbVya+aCEn6BrTge6janPs6YeaVXFM677VoOl7VhLY5i/tk231/4zNDcdkY7Ew= X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Apr 2017 17:11:36.5489 (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: SN1PR0401MB1773 X-Greylist: Delayed for 22:33:59 by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 27 Apr 2017 17:12:08 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 27 Apr 2017 17:12:08 +0000 (UTC) for IP:'216.71.153.141' DOMAIN:'[216.71.153.141]' HELO:'esa3.hgst.iphmx.com' FROM:'Bart.VanAssche@sandisk.com' RCPT:'' X-RedHat-NoPTR: 216.71.153.141 has sent a message and has no valid PTR record X-RedHat-Spam-Score: 1.193 * (BAYES_50, DCC_REPUT_00_12, DKIM_SIGNED, DKIM_VALID, RDNS_NONE) 216.71.153.141 [216.71.153.141] 216.71.153.141 [216.71.153.141] X-Scanned-By: MIMEDefang 2.78 on 10.5.110.32 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: dm-devel@redhat.com Cc: Bart Van Assche , dm-devel@redhat.com Subject: [dm-devel] [PATCH v2 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.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Thu, 27 Apr 2017 17:12:35 +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 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 286d74593b2c..5a3200332eb1 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); @@ -1526,12 +1485,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; } @@ -1572,13 +1528,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);