From patchwork Fri Mar 31 23:12:03 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: 9657337 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 CE77D60352 for ; Fri, 31 Mar 2017 23:12:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C009B28510 for ; Fri, 31 Mar 2017 23:12:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B4547285AF; Fri, 31 Mar 2017 23:12:20 +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.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3077F28543 for ; Fri, 31 Mar 2017 23:12:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754916AbdCaXMT (ORCPT ); Fri, 31 Mar 2017 19:12:19 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:42873 "EHLO esa4.hgst.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754801AbdCaXMQ (ORCPT ); Fri, 31 Mar 2017 19:12:16 -0400 X-IronPort-AV: E=Sophos;i="5.36,254,1486396800"; d="scan'208";a="7663856" Received: from mail-by2nam01lp0178.outbound.protection.outlook.com (HELO NAM01-BY2-obe.outbound.protection.outlook.com) ([216.32.181.178]) by ob1.hgst.iphmx.com with ESMTP; 01 Apr 2017 07:12:17 +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=hR5zXD0b4MrDcmQN44n+pKqpu/7604S+wIv9ZQjY0oc=; b=gl1j5RW9UJ/6+M3loP9wpnHz1hZa6+enkQnsaMBMWE+NmQbFQ7IBThybqRCPVP5QEJall8+zPwxo3shhI4hvNQnZl3cuY6+VJrFF0h9NAI+5HbC+VfbxOHbN14Fut0WiDQo7I2qy9kVZ1GOyGLskiT35nowwhtYEHvE/m4EYv74= Received: from DM2PR04CA029.namprd04.prod.outlook.com (10.141.154.147) by BY2PR04MB112.namprd04.prod.outlook.com (10.242.37.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1005.10; Fri, 31 Mar 2017 23:12:13 +0000 Received: from CO1NAM04FT039.eop-NAM04.prod.protection.outlook.com (2a01:111:f400:7e4d::200) by DM2PR04CA029.outlook.office365.com (2a01:111:e400:243c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1005.10 via Frontend Transport; Fri, 31 Mar 2017 23:12:13 +0000 Authentication-Results: spf=pass (sender IP is 63.163.107.225) smtp.mailfrom=sandisk.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; 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 CO1NAM04FT039.mail.protection.outlook.com (10.152.91.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.1005.5 via Frontend Transport; Fri, 31 Mar 2017 23:12:12 +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 EE.F7.19026.942EED85; Fri, 31 Mar 2017 16:12:12 -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; Fri, 31 Mar 2017 16:12:09 -0700 X-AuditID: 0ac94371-0a7ff70000004a52-1f-58dee249c08a Received: from exp-402881.sdcorp.global.sandisk.com ( [10.177.8.100]) by (Symantec Messaging Gateway) with SMTP id 83.9D.11415.842EED85; Fri, 31 Mar 2017 16:12:09 -0700 (PDT) From: Bart Van Assche To: Jens Axboe CC: , "Martin K . Petersen" , James Bottomley , Bart Van Assche , Christoph Hellwig , Hannes Reinecke Subject: [PATCH 1/3] blk-mq: Introduce blk_mq_ops.restart_queues Date: Fri, 31 Mar 2017 16:12:03 -0700 Message-ID: <20170331231205.16640-2-bart.vanassche@sandisk.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20170331231205.16640-1-bart.vanassche@sandisk.com> References: <20170331231205.16640-1-bart.vanassche@sandisk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrBLMWRmVeSWpSXmKPExsXCddJ5ka7Po3sRBn+buSxW3+1ns1jwZi+b xcrVR5ksNvZzWOy9pW2x/Pg/Jgc2j2mTTrF5XD5b6rH7ZgObx8ent1g81m+5yuLxeZNcAFsU l01Kak5mWWqRvl0CV8aphW9ZCs7LViyeqtbA+Fmii5GTQ0LAROJ403e2LkYuDiGBpUwSPyb1 M0I42xgllu68zgZT9W/5Q1aIxGZGidfTlrKAJNgEjCS+vZ8JZosIKEj0/F4JNopZoJVJYvXE VnaQhLCAg8SmOw2MIDaLgKrE9svzwWxeAXuJvfsmsEBskJdYtGkGmM0JVL/sz0QwWwioZu7Z hUwgQyUE5rFKnNt8hwmiWVDi5MwnYEXMAhISB1+8YIZoUJc4uWQ+0wRGoVlIymYhKVvAyLSK USw3M6c4Nz21wNBErzgxLyWzOFsvOT93EyMk/At3ML6+7X2IUYCDUYmH94T3vQgh1sSy4src Q4wSHMxKIry3zgGFeFMSK6tSi/Lji0pzUosPMUpzsCiJ82bJTo0QEkhPLEnNTk0tSC2CyTJx cEo1MEpsFdz2XCjLYuuRsOdc+3vuxDyzd3tlve3MXG71NucH2sYWoVzb2n/npRz0u5lrNCl/ 0buiJq7lIgqq044sUjLveeX5gavd93SusmjFd//Dm7tmpDulnF366MmOm9nL7DiO9r6zvzib 7/zhqxeuehxi6t835b7nha7AOc93XVUqjlJg1Q1Uj1FiKc5INNRiLipOBACDBYpTewIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrOJMWRmVeSWpSXmKPExsXCtZEjRdfz0b0Ig+07mS1W3+1nszj4s43R YsGbvWwWK1cfZbLY2M9hsfeWtsXy4/+YHNg9pk06xeZx+Wypx+6bDWweH5/eYvGYtuY8k8f6 LVdZPD5vkgtgj+KySUnNySxLLdK3S+DKOLXwLUvBedmKxVPVGhg/S3QxcnJICJhI/Fv+kLWL kYtDSGAjo8T86/3sIAk2ASOJb+9nsoDYIgIKEj2/V7KBFDELtDJJ3PgxmwkkISzgILHpTgMj iM0ioCqx/fJ8MJtXwF5i9rHtrBAb5CUWbZoBNogTqH7Zn4lgthBQzdyzC5kmMHIvYGRYxSiW m5lTnJueWWBoqFecmJeSWZytl5yfu4kRHDSckTsYn040P8TIxMEp1cB4QNZNZcNK538G7maz 6tr+nz0SsPbP8avmUpP2MKjKTL2u2XUqo6TR2eTm3QtL4xPj9Xet2rShsViufnVO0+SJmeVX z3lyqy9Z8c/4cM2FDVvff235m6waqpindemObdEi7hTX23NO+0/WnPegljuC9/Knb1cWO6Xo ZvslTDxQ+GmL6+LmjgMCSizFGYmGWsxFxYkA6YQls8oBAAA= 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)(39400400002)(39410400002)(39450400003)(39850400002)(39860400002)(39840400002)(2980300002)(438002)(199003)(189002)(9170700003)(36756003)(2906002)(305945005)(6666003)(33646002)(50466002)(6916009)(48376002)(110136004)(1076002)(189998001)(53936002)(356003)(106466001)(2950100002)(4326008)(5660300001)(86362001)(77096006)(8936002)(81166006)(50226002)(50986999)(5003940100001)(54906002)(76176999)(38730400002)(8676002)(47776003); DIR:OUT; SFP:1102; SCL:1; SRVR:BY2PR04MB112; H:milsmgep14.sandisk.com; FPR:; SPF:Pass; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CO1NAM04FT039; 1:AV5YGFy3d3qZn+rS/yKC9jcsadq3tOGzzpSg6jzDlpQMUdf6PmzcjV+2COjn2gK0XMlhcruBeeAkuIgCMiCtsDDyGUbV9ytaoL5WYzfJCtF+F/htFE9ubY2JuG2u7fxXMClywLFlvWSQ8YnXHdoDKGO+qzPEtiPX8NMPz8P+VCeZguEakLKj7PfdAuUiZ4LMxEwM83aqJK60pbhpNKZrOZ7n/xwBQljc805wbCE0ymA12p1L7qg0mCAzatDXsGi6xVc6gdbIzLvmRvfgJ1mB7CGjZ8PaJmAo/24/9AA3+UsTr6GkjKR5KyvUtCs8bZT3GW+KZ/WdBrxAyTYK32BzI0P5vJWBrVI2mkMXvaiAOv+l/YG1QfRU8Ax9G4rHQI7Ka+r4IogYTRyNiE3Mgcj5HuGlc8Hv8c6dj5HVluquj2aQNBywKJwKrqyykeiZKaaNcdRYkkWpN2UPUhjwnOkyjSvRCxtAjANTlC34RSjntdJXSZaF0zUf0lFSu+Gnm/p6hQet+gG1aRACLD6Q5jYYXZUJZVrTs4k3/ln6nPXLZ5c= X-MS-Office365-Filtering-Correlation-Id: 7b123d8e-b4a9-4c3a-c8bb-08d4788b5d9a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081)(201702281549075); SRVR:BY2PR04MB112; X-Microsoft-Exchange-Diagnostics: 1; BY2PR04MB112; 3:CWR70mLFun/IXC2XYZHQNeAB0jI8GP6n6ZSqq8jZu4nUl1gxAbQ4QITrA7rh+favxDyOSnwVE0RjE+D+tVXz9kmOSNK6Eg4KkeXgNUgo3z59p1BW/nTjw6URfIrwZKBeKtDqbU4v/IbyWq5PbLWEAuFd7SRd23rcUi62wCVJsDYMjku/zoz5ymAvO42ta7tsvkHuw2yTWEjB8s+IYWRdz3Lz/ckaYyGC5dPucsLy40wlVmKdm88PzyPkLCLXse81zXwv8cRbnn6WJnAUNXW2ffhPOmxtvxZukyZCK9M3+2Rx7mEaLdU347AoAMoAlcFAMODDqt7zOsoAYcTL0IBYdW6qxazkwp5nqABmin2pTuLvhfpjRv+FPYw+TqsZYhscIQcLff66keA+U9skxvNaexV6Whf3K8I8bfmtWD/nW3Kqhl756QriFCVlUrQmAR5oEgPFwg5sVSZT0Ul8apFm1KZgqdzYD7trT8UwwmRz04ieSocNKMvGIOJ+TumglxfigGs5CvkL+vz996WM14nNBw== X-Microsoft-Exchange-Diagnostics: 1; BY2PR04MB112; 25:H+EB50iaGs42pWsuLFdMag0u+5kpFF6edGVM6KRgGGFhOrJB4pUIh9SRBXCjM+18qWSz6NINZQ2ghOIVp1+RxepxXlc/swwjwgh6DB9sRs4yC/Cd9RG40l/DlLx937ha2tZtf/55sDGWitbyYQVhIpeiEZJ1TxmvwtxBd9cAooyh9zQLJkyaiyUYwmCgxefvjTxvNAh9i0VMjpz1ddR6itDPRbKJ/cAAbGq+kpwDAHyau+v+cf+tVzP6iTmQsrrigI5Xu2BLp1IlFjr/dY3aDG07RthilUSWsH6Cy0I/zXPfgWTJtas9CLCgYUDQopkSy3ltr0+8u3xYWzP0/oJFnQBpPPJHIHqLs6TKz9uTLwXLvNRQxDSjymyaLuEvIBalnGC0W+oKg/n3kZ8YTWOPK6ytFnIS3m4ZHJhrlYeQhuZQqC8CFqJwV9NX0YUIHgIf7A/xYvOAb5myv8gNxxudzA==; 31:WTuxDTSdjBbL7RvWBqddlOBuWxVDxYlzMX96v0LbCVRKHnlBXfAY83vQYU5LOXOpLyo1M1wA/Qc0pyKOyhJWJl7ik1y6AXfhY4kjsoycD+qdr6h8TGM6tIAW+YEgnR/FJoYuBhPstzX9Om/oV4dekwl57jywOOvDl1DKnw/IWqrToaa5HW7G8jBVe+cOApfTF4hzjJUJ8sC+rLBvSupua4uod6+jK1yeBATi/scD+qkXHmo2n4XJonyg/BfY+gKs4AhqU6SZHPgwHXCKLvmvgw== WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; BY2PR04MB112; 20:ttC13xvz+YaKEw62BTQmCUSVfqvtz/vtRkGHBX+nHkhHkzNBWIJqYqlEEGifT0zHndpMBJ4OwshzG6qenCV9Io05PNoBzIKJ2hGmV+HWzHCdAXBXXj7pRRChYLcfguS5hklDhyvVQ3t+nPSSwnG/1HRynYkV6RmWlUTr2SJt4PEg1lYPmYv8IqJgZ/VpuSmGoowfMcnxvqSGa/EqOmMXAfZhqEGA2eIXsDi5MLAgrNq9Zpi4+6y0gpsMzFcEixwfaF4bVCScAYVAEEg07VBF8ltyaBzg2sBdjtpSsfn/h0j8mLffO1vO6FJpq7q6meErgPtt8s9UDbHEB83XV+ydBq6sW3JabkAmNtsB6rntBoXwhOcge/0lzf+l4kWkXdb8K4ZwwuR84557Fnutd3C/m0J6PhpOm9YkEg1Hu94ZqtBRRgGUWuCReGz3iJSTJGU3yINIk9+cBIInvIFBWSWq/q1tcus+e0Zbe7eXjmCjq3vYQJageqwaS9+0CHoa4whg X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(146099531331640)(42932892334569); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(13016025)(8121501046)(13018025)(10201501046)(3002001)(93006095)(93004095)(6055026)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(20161123555025)(20161123564025)(20161123562025)(6072148); SRVR:BY2PR04MB112; BCL:0; PCL:0; RULEID:; SRVR:BY2PR04MB112; X-Microsoft-Exchange-Diagnostics: 1; BY2PR04MB112; 4:w07LCQisWl4+CAKKMW2OFYEi+PZmScA892Y10Tq17xuqLkV1rZqr7mgemJ8iCHWqbTXnDMCcJlIYNFAvX/yHA7m7ZLufn9WScf+uiCs0iTd3N0G+U+VoAJQrJfkzWJVZVrLfUOmh1tAhYFpqXWKtUP7S+gentYAzQfJIGIB3UaIT/CZqW3BVTd2rPLJv9ENLH/HfDFHBCd85yFG1QnC+Z9hBmyKTg/8S9NcABSRY5cF2tZbkaftGQcLHlS8YDblAUUEdmzeOjA+c+qWDNOVcOmWVZ+eaebq13aXDWtjm92qWihg6NS9PO3MzFVc11JvgRR5bfbcEHgY1GH9BxdauKDA48VNvh4OuNAW8gjtJGVtIDBNeQkZJTpjZcGG8YW2cGizIQU0q/+RBeORZsz4zn/r/npdEAXbYsQo45eljV5tG7BqOKeJn5TV4NITjJfQlNDL7HdeeCdD8ofduVj1BDpx80LC/CMIXY4NPsu7jNQB8ZrBgzd1WhRqcgBi631JASzCadOsc9Qy4ZQKpsl0Y+Silz2Pe71ISL+HffbCvPYO3iECpTFvws2oLCAgItf46QHugFQMIyQrqGIlEJHWqmEgxJYpPmvcGaYSxyd1JnEFJq/h7l/ufLu+Sa3rQiVxwX4fvAgZi5cmh8So/K2P89z8ZOU6SRu9AiP2Wnpjjh7JbHE45U2JzMolLjCLxPtr9u9mZZ+Y6KIqfHjwUJK7LiZEwcS65YwsJZdC4JKLE3VGAdzNc3hl+NfmxZwpTaNCUv8CtGqy5EfVrqwratWkMUX6m1QHd+dDv1AoN6A+WKkUc7wF0ECR57hKhThXEuMSoNmX5NHfuxPQUfz2/HLLG3p0O2GwpM6IsPl8JjSifnas= X-Forefront-PRVS: 02638D901B X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR04MB112; 23:vN695Na0LhDDMmxrSdwjwiXGcy703/B2WwIJ1CzuaK?= =?us-ascii?Q?ZJrIQ2XnHK0vMzdH+KfsVycHJVhlJpMh6G9zSxFyUmw2sKsQnYuKDU4+GYQC?= =?us-ascii?Q?+MHqU7o9Lhp/LbaK4MMdct2pnVo1HVF5OiUr+WiRBZVb2SPLFGattbGywC93?= =?us-ascii?Q?2/IYaYf0iLicDo69bF7Ne+hvIq9lBBTieIUACukeimkwPGydiWCAo1jk6eWv?= =?us-ascii?Q?EkFujkwaoJKYbjNrehBWp89QHjb3TnLm4foNBENr/vs8PoTcZvUGOmw9gmIC?= =?us-ascii?Q?SqTJteg48DlJJaMWFdhhak8gHU4CMVeZxWlMBzxQ3rMJFoo204ZzVsae7j7z?= =?us-ascii?Q?Clw97KjFibpCq/7vBLvVlTPKLxcsfZJF0AdVoBpQlo0dC6718Q40ZXCwzQvM?= =?us-ascii?Q?kSby2rTf7+XdvjVERxfzQVh0ftSatdJ24LtT3SgUDUjd4qsyrShi9IcWryoV?= =?us-ascii?Q?3UIr4bda541FBU4pLEOJHJa/h9IDIFn9BcK22HN709JhS9d4VZvK0hPXi5BE?= =?us-ascii?Q?qP+++Hua/eUDcuSAL2Kfagw5Y0kfx+00PsfsaI3tZ5p4zVnqfjSthsGcYSk9?= =?us-ascii?Q?grs2y9Bd/cfeTKDuTo6KSf1jCh0XEvWGFralDvtFdNAMs+QA0Oslh5zJ4Q0L?= =?us-ascii?Q?g/wa2w5IOXiXfAzRmF3xaOdqI4hfVLSvdYS9r1Wxn/P/42hdHD3rkuZx4LNf?= =?us-ascii?Q?3aDBaogVFLNuxmTL2Gcub28Rro2bX8H8J7CaiHcg5RiY3UNcoW1CcUSd50pH?= =?us-ascii?Q?jdg4V4bhl40YBtSZiEkOdeEe3I6PzR4OpGf4cAt/01aNc1mTdto5RCGjWcJu?= =?us-ascii?Q?z2z245BnkVpmc4TxNkP3Mn0cypPHi/BRScS3FwRkUKEGll8gNtNPnYN10xzP?= =?us-ascii?Q?iiHKxVKYPIfTP4UHROYKK5we/f4gb26bQV0gaQxJtieYxGEK2J4O1nShAEiA?= =?us-ascii?Q?0mewR0iVV10emaEClirAZ5A/ps9dkPVc502g7YtScO54H7c+s/uK6zv8udjg?= =?us-ascii?Q?p0nHqoYlKzXzo7WvKfKSYeL/fxa/9HlLWCcXWskfN1fw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR04MB112; 6:fjczxgNptWPzqAZ1/cS3MrzXaQE3lXii1HHHt02KNkPxk+LlZEFNp8PmuXAHhYCoBqLd4rAZkcAja8nMli2RhBdJ+xvc6Qp/9cKzYKDu6RawPK6nC4fyIfUGiLQ2+apgRfJ4a7fFZKtHGk8T9sPYks+NXGgyVxM5npmRc0JiCDaaRh5+hK+wMgN6HM/EH75igmMCwRrsXpQNulv3fydzlJMRBD9pz3PASsJQg3sWe/9XpPGIrxySGTHI0ti4CjFZVqonFlXUae8tJbCNt9ny+3Nzx0bOZwmwXjMNMN6pzcIgHxNY0aOwY6hUE8b3ne4m0xkPl3eTzr4lvHC1fy4fgdtMYgHuBxIak24XOJHyX07DMRgkYytvpBP0TFrFaI+kz9cHNbU9HTMfGi2EmZDVpw==; 5:VOtwQGUJpgn21BUy8FCoDblc+Kb6Y+jr8+K8dM7YXq70hTyqYG8FwB+YjlP7se7f76Id5SalivKzQAzdnEJDzJfVP46ApYidFW66CoZOfpk+RrpVxoLu4aIi6CU1Uwkt2VaqE+AAQyzb7Ae8/KGCeIR+TqWOio2Ou8uywW1fXgc=; 24:IZVA1hBSIkrkrtVktw0aFk6QRwpyUjevA/C/TnVTOdfnllfYapY25ySq9YD17c1O+ZkVxI90NkgkKTjjio3/dct+TfXsjB6lJABxmGViHEg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR04MB112; 7:VI5FwiQz3BfGlrAH9CkNr9WbIp8GZUF/9UCvLKqQpnXnjdnOuScOEqwQFNFczenTLUkj3G/KBJPUoamxT4lJq6HfYp6PSsHK6q++g49c6BidYnUjdkd26MYcz1/8VRZWVbr/AqgMeQF/T5C/+LU9rO1ismzLa7sz5ryLvwTbyIwnilCqnY3zZlkx8jgiNI/jsL4u8+GdoOkR12Fc+yuCir/SaMmD7DZoh1HgHzbxG+dN8bdqzmBhLXO04Bswltq9bfPIxDvovoP10jW2WTmXpxUeL/xfBkD0dbQWBxKjOqh0I9Up9b22G3GtmaDjRIEKS28VJrZVuFsXdFBBzozJXA==; 20:frJu47BT00L9W8hvuIJklfQDevx5fvKWEK8KL6fkjntI8bVAQIAio2onyZRLgZmJjFArsfWpi3ezpPcPxkvck5cvx4yvgNzIunBbqwYT50Xl69p/pwaNS/SRi5Nfg5NlzzffYTOx4LzdjxDKHbpFff7SE1XHqUvwROacNDXtggE= X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2017 23:12:12.8544 (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: BY2PR04MB112 Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP If a tag set is shared among multiple request queues, leave it to the block driver to restart queues. Hence remove QUEUE_FLAG_RESTART and introduce blk_mq_ops.restart_queues. Remove blk_mq_sched_mark_restart_queue() because this function has no callers. Signed-off-by: Bart Van Assche Cc: Christoph Hellwig Cc: Hannes Reinecke Cc: Martin K. Petersen Cc: James Bottomley Reviewed-by: Hannes Reinecke --- block/blk-mq-sched.c | 11 +++-------- block/blk-mq-sched.h | 14 -------------- include/linux/blk-mq.h | 4 ++++ include/linux/blkdev.h | 1 - 4 files changed, 7 insertions(+), 23 deletions(-) diff --git a/block/blk-mq-sched.c b/block/blk-mq-sched.c index 09af8ff18719..ed9942ee0146 100644 --- a/block/blk-mq-sched.c +++ b/block/blk-mq-sched.c @@ -329,16 +329,11 @@ static void blk_mq_sched_restart_hctx(struct blk_mq_hw_ctx *hctx) void blk_mq_sched_restart_queues(struct blk_mq_hw_ctx *hctx) { struct request_queue *q = hctx->queue; - unsigned int i; - if (test_bit(QUEUE_FLAG_RESTART, &q->queue_flags)) { - if (test_and_clear_bit(QUEUE_FLAG_RESTART, &q->queue_flags)) { - queue_for_each_hw_ctx(q, hctx, i) - blk_mq_sched_restart_hctx(hctx); - } - } else { + if (q->mq_ops->restart_queues) + q->mq_ops->restart_queues(q); + else blk_mq_sched_restart_hctx(hctx); - } } /* diff --git a/block/blk-mq-sched.h b/block/blk-mq-sched.h index a75b16b123f7..fe62b1eccf4c 100644 --- a/block/blk-mq-sched.h +++ b/block/blk-mq-sched.h @@ -131,20 +131,6 @@ static inline void blk_mq_sched_mark_restart_hctx(struct blk_mq_hw_ctx *hctx) set_bit(BLK_MQ_S_SCHED_RESTART, &hctx->state); } -/* - * Mark a hardware queue and the request queue it belongs to as needing a - * restart. - */ -static inline void blk_mq_sched_mark_restart_queue(struct blk_mq_hw_ctx *hctx) -{ - struct request_queue *q = hctx->queue; - - if (!test_bit(BLK_MQ_S_SCHED_RESTART, &hctx->state)) - set_bit(BLK_MQ_S_SCHED_RESTART, &hctx->state); - if (!test_bit(QUEUE_FLAG_RESTART, &q->queue_flags)) - set_bit(QUEUE_FLAG_RESTART, &q->queue_flags); -} - static inline bool blk_mq_sched_needs_restart(struct blk_mq_hw_ctx *hctx) { return test_bit(BLK_MQ_S_SCHED_RESTART, &hctx->state); diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h index ea2e9dcd3aef..75160e9470cb 100644 --- a/include/linux/blk-mq.h +++ b/include/linux/blk-mq.h @@ -86,6 +86,7 @@ struct blk_mq_queue_data { }; typedef int (queue_rq_fn)(struct blk_mq_hw_ctx *, const struct blk_mq_queue_data *); +typedef void (restart_fn)(struct request_queue *q); typedef enum blk_eh_timer_return (timeout_fn)(struct request *, bool); typedef int (init_hctx_fn)(struct blk_mq_hw_ctx *, void *, unsigned int); typedef void (exit_hctx_fn)(struct blk_mq_hw_ctx *, unsigned int); @@ -108,6 +109,9 @@ struct blk_mq_ops { */ queue_rq_fn *queue_rq; + /* Called upon request completion to rerun all queues */ + restart_fn *restart_queues; + /* * Called on request timeout */ diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index a2dc6b390d48..a80543ec8be7 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -615,7 +615,6 @@ struct request_queue { #define QUEUE_FLAG_FLUSH_NQ 25 /* flush not queueuable */ #define QUEUE_FLAG_DAX 26 /* device supports DAX */ #define QUEUE_FLAG_STATS 27 /* track rq completion times */ -#define QUEUE_FLAG_RESTART 28 /* queue needs restart at completion */ #define QUEUE_FLAG_POLL_STATS 29 /* collecting stats for hybrid polling */ #define QUEUE_FLAG_REGISTERED 30 /* queue has been registered to a disk */