From patchwork Wed Oct 26 22:51:33 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 9398633 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 C0E8360234 for ; Wed, 26 Oct 2016 23:06:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 890EC29D3E for ; Wed, 26 Oct 2016 23:06:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7D86329E2A; Wed, 26 Oct 2016 23:06: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.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable 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 AC25A29E28 for ; Wed, 26 Oct 2016 23:06:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934560AbcJZXGQ (ORCPT ); Wed, 26 Oct 2016 19:06:16 -0400 Received: from mail-bn3nam01on0050.outbound.protection.outlook.com ([104.47.33.50]:20810 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933249AbcJZXGO (ORCPT ); Wed, 26 Oct 2016 19:06:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sandiskcorp.onmicrosoft.com; s=selector1-sandisk-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=/GWBEfohaM7fHOOsekeOBmSlsk5FI+MijNPATcIH0zE=; b=npauJ/nPO+cGKumTc5m8nScifdNQZQ8EDN6MLgGXH5lP2F0y8Uf2ZHmGOk6qwAsNJ1zBl7x0uKzlm60Ieen5WjpIYn6hTLiL2BnbmI0aHrwNpyx88EgJg9JIBC73kMl6ANZ3MJ/lkDptGpc0rYqfTYL+of7xUERQuoltm/jmAqw= Received: from BN1PR02CA0046.namprd02.prod.outlook.com (10.141.56.46) by BL2PR02MB259.namprd02.prod.outlook.com (10.141.89.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.679.12; Wed, 26 Oct 2016 22:51:40 +0000 Received: from BL2FFO11FD047.protection.gbl (2a01:111:f400:7c09::171) by BN1PR02CA0046.outlook.office365.com (2a01:111:e400:2a::46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.679.12 via Frontend Transport; Wed, 26 Oct 2016 22:51:41 +0000 Authentication-Results: spf=pass (sender IP is 63.163.107.21) 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.21 as permitted sender) receiver=protection.outlook.com; client-ip=63.163.107.21; helo=milsmgep15.sandisk.com; Received: from milsmgep15.sandisk.com (63.163.107.21) by BL2FFO11FD047.mail.protection.outlook.com (10.173.161.209) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.679.5 via Frontend Transport; Wed, 26 Oct 2016 22:51:39 +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 CC.C2.26959.6E031185; Wed, 26 Oct 2016 15:40:40 -0700 (PDT) Received: from milsmgip12.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; Wed, 26 Oct 2016 15:51:37 -0700 X-AuditID: 0ac94369-b97ff7000001694f-3c-581130e6c5b2 Received: from exp-402881.sandisk.com ( [10.177.8.100]) by (Symantec Messaging Gateway) with SMTP id 6B.B8.03615.67331185; Wed, 26 Oct 2016 15:51:37 -0700 (PDT) Subject: [PATCH 02/12] blk-mq: Introduce blk_mq_hctx_stopped() To: Jens Axboe References: CC: Christoph Hellwig , James Bottomley , "Martin K. Petersen" , Mike Snitzer , Doug Ledford , Keith Busch , Ming Lei , Laurence Oberman , "linux-block@vger.kernel.org" , "linux-scsi@vger.kernel.org" , "linux-rdma@vger.kernel.org" , "linux-nvme@lists.infradead.org" From: Bart Van Assche Message-ID: <0de50789-e3b7-0a07-73c1-4fb87b1f957e@sandisk.com> Date: Wed, 26 Oct 2016 15:51:33 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrIIsWRmVeSWpSXmKPExsXCddJ5ke4LA8EIg64tbBb/9xxjs3h5/gOr xcrVR5ksVk3Ms7h39AuTxd5b2hbzlz1lt3h2qJfFovv6DjaL8x9eMVksP/6PyaJt41dGi/c/ rrM78HpMbH7H7rFz1l12j8V7XjJ5PDi0mcVj85J6j903G9g8Pj69xeLxft9VNo/Pm+QCOKO4 bFJSczLLUov07RK4Ml4eXMZUMF+sYuvSFvYGxmNCXYycHBICJhLbP8xn62Lk4hASWMok8aRx KTOEs41R4lnjPWaYqpmTpzJCVTFKtB+4xwaSEBawkzjU8wysSERAVuL77tdgcSGg+M8z69lB GpgF9rBI/HuwlAUkwSZgJPHt/UwwmxeoqH/OCbAGFgFViUcn/oINEhWIkNj0dQ5UjaDEyZlP wGxOAXuJNV+ns3YxcgAN1ZRYv0sfJMwsIC+x/e0csKslBHrYJHoaD0IdoS5xcsl8pgmMwrOQ jJqF0D4LSfsCRuZVjGK5mTnFuempBYamesWJeSmZxdl6yfm5mxghEZm5g/HuE+9DjAIcjEo8 vA1rBSKEWBPLiitzDzFKcDArifD2GApGCPGmJFZWpRblxxeV5qQWH2KU5mBREud1u/clTEgg PbEkNTs1tSC1CCbLxMEp1cBYxPZzWt4arcYZ084X5Tjpbpkjwjnj3TXRw7kezX3PJ2t9iz3p +DnX92dt87+4guCrn0/w9Fy6bcMm67FSindNvn2r3redR1W/aa6fJ601x4E//PfX5RE5cq8k 3mgvXnPQ8Eryx0vd79kzza5NOxt4j90upeNLYHZj7xbp5ryeIH8Zl5nrGsuUWIozEg21mIuK EwE+SYkmxAIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrOLMWRmVeSWpSXmKPExsXCtZEjRbfSWDDC4OBNVov/e46xWbw8/4HV YuXqo0wWqybmWdw7+oXJYu8tbYv5y56yWzw71Mti0X19B5vF+Q+vmCyWH//HZNG28Sujxfsf 19kdeD0mNr9j99g56y67x+I9L5k8HhzazOKxeUm9x+6bDWweH5/eYvF4v+8qm8fnTXIBnFFc NimpOZllqUX6dglcGS8PLmMqmC9WsXVpC3sD4zGhLkZODgkBE4mZk6cygthCAosZJY689Aax hQXsJA71PGMGsUUEZCW+737NBlFjJ/HzzHr2LkYuDmaBPSwSa7d9BUuwCRhJfHs/kwXE5gUq 6p9zAizOIqAq8ejEX7BBogIREpu+zoGqEZQ4OfMJmM0pYC+x5ut0VhCbWUBd4s+8S8wQtrzE 9rdzmCcw8s1C0jILSdksJGULGJlXMYrlZuYU56ZnFhga6RUn5qVkFmfrJefnbmIERwVn1A7G 6xPNDzEycXBKNTCuq1/xbvVFF5P2tT0yUc31otnGKdOPGU52D5rfeTJCp3fz/rCMt3wiV9RE l+pNmrHStvRRkrdv501TL+/4NNdLFtl5q8MkTyldvLnlxoPJLGcWLn4UtGd9Z9lHCfMca/nG QzahOhUGD1RyIzvDdyx0XXRy4aaE6XftV6ireNvq5UX53alU61ZiKc5INNRiLipOBACEYdM1 OgIAAA== X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:63.163.107.21; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(438002)(199003)(189002)(53416004)(83506001)(31696002)(86362001)(8676002)(65806001)(230700001)(11100500001)(4326007)(6666003)(65956001)(76176999)(54356999)(50986999)(47776003)(31686004)(33646002)(69596002)(8936002)(64126003)(92566002)(626004)(7416002)(77096005)(68736007)(65826007)(36756003)(5660300001)(6916009)(23676002)(356003)(110136003)(7846002)(19580405001)(81166006)(189998001)(586003)(229853001)(50466002)(19580395003)(81156014)(4001350100001)(87936001)(97736004)(2906002)(2950100002)(2270400002)(305945005)(106466001); DIR:OUT; SFP:1101; SCL:1; SRVR:BL2PR02MB259; H:milsmgep15.sandisk.com; FPR:; SPF:Pass; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD047; 1:KWKxRDLv+nAKZAxKlMO1Da+nm7hPvLm6Uq8El2AY4upeSu27QTHL0BPDQLDxK6RY4UlCDc7dLyBcdelr0T5qaBYCIs6mbRcm27elZDWIyD7o86Ow87WVpaHmRV9RtV8jhhdx7Nd2PcaqXJIKRZIIZPD8BzRsHg94z2SHR+997cu7vBzASkue6qTYWdNTXHIZK1KLa72UBKio2j5+32LduhMmgzIWXtzIWnYqsCbyJhTRvl2iRtl/RlT0ojFtfgIh9SoqPsjvkWMorFsJoflxsZFAYWbj/VMS3J7iUkGwKqp7KkzNoiQJ1vICt585oThUhR/JNhx6nLKtXWUUnAnkFPsrPLCKYmTT3UsxMpbHN3WmPSQp5b5f2tKY/323AYunXsY6CLTzB2EtaTJ+HF7gWmkSZt/6CxfJpploKZtB31WNKrzpJCsD+/wH6Uw4O8VnD8E73C5WNA7ZkdKlaKkWHxLxNqPbiVNgoWa2D+1tpoMVri9LyDO7FE4o0AGSg3TGz3VMjtHaknMkrKIDMkKs4mIef/4yyn5pKAYrA+ZhQAlH5Y9VvBlieeccl9Q4ICCa X-MS-Office365-Filtering-Correlation-Id: a0320c9e-ff83-4650-990c-08d3fdf2a689 X-Microsoft-Exchange-Diagnostics: 1; BL2PR02MB259; 2:A+3owlg93CQYtAefow9W7l7f0DPbIk7yKdtsX7gDYVsu4mDFIwwoLUtS97fd1JxRAsMpnr+vrRFPIMNKb4I/rPrHGmQRgBCZ9zadBd6hiU+SS+os99uEABkQBlYJIVOR9SkHgxsZgA4hL8rPzL5IZELaHvG1uERtqKq3eCIOWuFGn2qn3FxKa1nH0On1a9cjVhc7HIqv3+gHYoLxvb1lsg==; 3:8lNWrtX43Sq8/lKVCp/VyMZ+8OmzYyUiq3MmxgL/fZEEp5Ele1tv0UEXIcKi4X6BPcj3D7eif3cRCHNvusGS0B8K3/91W3/zX53SnCvIkkvQR6scS/l1xOLeKTaW8L++z08PLnD/C2+T2n7Id+e/5NvWBKmMhFgFlC/FjWxVc9IVC9NJPt8IhpsCHH4x+W0mSwyWszf5hX8ZwdAfH04uX8BRxZP3iOqQzzh6FimkwjhXr8v1SxCGMnUuNCFhgDh5w+ccx3Zv7eIk3x9SHFhDNOB2P6hL4vhJlI7ZNLsECVg= X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(8251501002); SRVR:BL2PR02MB259; X-Microsoft-Exchange-Diagnostics: 1; BL2PR02MB259; 25:fNg/PoNVHnIZGTEaptkHMsl9gCkL0O7IioK2kzGcp0pHFCeLWhf2dSQ83PLvOFpbCckYDcmB7ka9oGYfQSZeYUm3OJkSFcVQR/YgVNiv5EJkYJLJt/E/UH70GKei98bx4uscai5WeHpGoVBt2lOWR/V0qwxXRQsDWrjP5WnVk0XRCsKFm4FmmjNllGZ1XTWuHVOLhrxfABqMsWCMDCmrgy4FXFYeAgXwcEgQqIAfPW3xnsg0UuKJ5XSGfErTk1YomdYOZ88P49quzONAmEoiJcEumkZjV9yV2LPfSWUXyzl57fRf/j8Mr/SNWNHDjqAYQJQzj/zr5fdyEYiFQf2eJAavUZeLnXzXYN4QZ1DpGvLtSmtEGxQNo5VqJi/jb/UKXfgnEh0YNaBAeaMdcvRbBj1qTP3IVM63adA+aUndku7gE+Pb49HO0kg4bXMUTr5EiFETrFgTy/FHc6UmHVpc5dL2FzaFlDRw/uzDvukpsuL2y0E8CqIblJNYv3NkrKp513aM/rymArLkil/851IXXYAKVdsszAosNNw3Zy7+Un5h/RNnTuZuOVDCxsQxWcYhYQmpM2gRE8FHuIqdwq1mpzjMPkLzcSixJ8l4IWtFtx6VWnO8ThozBcLhOylkfHZNrqmlZmy6D4hAwLTDCX4LdRDa3JuvTkM+lfutQ2QiR3pPrBFcqwKbDLiJgw77f+DcvyFSA7Q+dt+SpT6wDGYhOxoP57fGRT6Y0sXYlUGMpxrqMLp/4Cta5zr++D4u/E4YPticjDMPTpKXChORtHItihXQM8DF2JPY2oymBZPYyIY= X-Microsoft-Exchange-Diagnostics: 1; BL2PR02MB259; 31:wi19MLHuoumjhL8rpGkBTgG77WvxmNp1auUsi/wugm9QKKncTYigJ53hr0LLtviZXIUlPt53GdP/SDChFzYb4x9TJEtDDfMPYIf0CZHVG/hOurf+fvqdwGjpAvNKcMoQgolOkapRhw3JqRcGBnB7AMtImyIghZWKXYNw+Lzq9lZeE1ZznZiJfx/oudNQQ/ypLMIXKGorBj/KeMF3cJH1m1xUrcdzyZL4UFeRdXB7upy1z+Lz1PHQtiOL7FYdqrnS; 20:MDFTrGkI/h/lJ/A94JqltuTp41oLqlXd32CZ+n8gjO57zcGUEm5RdxdyV/G9U2ehxdrZlB0NOLcqj51ALhiKUY8U9o9VCtHkhwCpq1kcpBx1iNzu35DOz+u5h3Qdth8G3BxZKvGkQnORo7kEXk4gjgOeGNfJtOJW2AXa/WuNt0hoKbIOG5WHCHsaeDqurPndoIfOkmOk0Ya8fqz24IL9PfA1jJC+bOEvbfpYOMBBVHcsJPiG5y+RexGCyMBBTTTr1Q1EP2iGuEQEuM615jYh7mViaLC1juq1AYE3QMThd+LBBAHRDyTu1l15jFn6pKcG9D8Nl3gbH2KChTRTEElhzQ4GwN02YkZSY6MiWgILVQ4nLIavMquGQxHwpELWMz/6ETe9w4/OMM73gW7GKbyYD+/3BYGk0bcRTrQ9scZqhWn34tDBKg8EQXc+8f35kUUYpgDiT+YtyXvErnlgHZ+701+/uGjVlpQRvz4HW5PtDZhGhnUi8uoRehZ8xZ39MpzU X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(42932892334569); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(13018025)(8121501046)(5005006)(13016025)(10201501046)(3002001)(6055026); SRVR:BL2PR02MB259; BCL:0; PCL:0; RULEID:; SRVR:BL2PR02MB259; X-Microsoft-Exchange-Diagnostics: 1; BL2PR02MB259; 4:QesL26/p2VF66o42PR9d5qQ3tIWcdaNZSSB4tDUOFqI5XTQBNe2bFLr5cqPiL8HFjtw8og3pOcgfGln+v7ONc2kWSJJ6FJ3T8Jg3uvJMkObPzvp/oKIkLQxB/paIuYFHyhRI83u7CS4/XboPSoFIFzyuK9Dkb9jq4ZarhqvFU5scbAdh8oezLlWaKjNYxsU6h+V4VaFUUhuErGAwJTHuk8dHENi6kBELxuARocCs5K18kxyv9SANu3cfFis7zuCemNbRIci2Y1sWbDs3KF2zO+m1Cu8suIa/1LipBhSHyMjSCI/nvlxO3y6pXMAXiTcxyd79tfV0UGilD9zakkSIBa9YwWCS1NcB6hh4vgw/7TyfA13tUIg026//rbNisi1p8q89HbLzits/gazj/8nSbdAXBGlTuTi/dzBV6w+KaGrQ0cfHhvKd110//XBRxJg22hDaikSTrNRuzYz1M56E+3qf3ItI5eZOADI4psUcIWyjPUKrXWrXagKtiYjzrVGL X-Forefront-PRVS: 0107098B6C X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTDJQUjAyTUIyNTk7MjM6a2ZYQWFaNHBudFIvdkV3R1E3blN6ZVVyYW8y?= =?utf-8?B?TWU2SlZ5UnBKcXRweGs0Y0pBSjFYZWp1VkttbTYvVFFwSG91dkNEcEV4Z1VS?= =?utf-8?B?c2lrYWR2c01tNzc0VmJlNmhnaUhJajhISG5UZHRSVHh0QWVrbTU0SGRCQ3Bj?= =?utf-8?B?STBIY21iRmpyeHdrb1VIcjQyZjkyUzVnUmttVlR6SGJ4bWR3ZzdPVG11OTBl?= =?utf-8?B?Wi9vTW0wangyQzVjK1N5UXMyV0JUWGt0RU0vR0ROQkx0ZENOUGxadVJVbGNE?= =?utf-8?B?eGVHRVBWdWx2V0RFU2wxN1Q1YldLYjdkdXMwQjA5bHZEcWdtU1RBVDRvMG1a?= =?utf-8?B?OGdvYXRaZzQ1cUFTSmNPTy9rNkNTNFJjMVY4K2drOTMwNGVXcnFGbGxzTjFy?= =?utf-8?B?K1FJQ1RLblg0cWNTK3JyQktNSXQ4Z0crOEo0TnRQcmtOc3BaL2lKNmRNS0RF?= =?utf-8?B?TzRDNUF3NVVUcXJlYW1BZEpUMll2RFZ1aU9lZXh2NUNSWTFxVzVSSzhYZ3Zt?= =?utf-8?B?WDdpVzl3UEtZZjBIb1lKTy9keXZndjNWWk5QMXdHajR3MTVsMEZDbFpVak1C?= =?utf-8?B?aGdjOVhXbUhOTFpXc3JsdUdQRlliTXpQa2JCeFQzT3FzeUlwMzRVMnJMakZW?= =?utf-8?B?NnRvUWpsMm81RWZPRWp1Q2NCbjFiVGJyT2wwYlNsQ3lJVE1hdFVMUStqTTRS?= =?utf-8?B?WW1MWmU5V0JWZnBKdEF3TElPSTdrUTEzU1o4SEdGQ0J2UHdiajU4OS9BU3M2?= =?utf-8?B?SkpsZjNjSEU3L2hNSW9MNm5IZU8zZW9EaVlSaTJkUnNnY1NkZ0pXUWVXSUJh?= =?utf-8?B?b1NKVUlnd2IyRFh6YWgyb1JrcVBCaTQ1cVRFL2VONVFWaWVLaitscS92N01k?= =?utf-8?B?VDMxL0xWRitpVGZ5cXh4NStjQ1huOXV2OTFQV3JDUXlZV3lYZnZRRm1WVkgr?= =?utf-8?B?ampYWUNnMzI2bHk4UTlRQVZGeG81RWRzSlhNOFVHVlRNNnhBRDcwMW1vS0lW?= =?utf-8?B?VFNQa1BWemNUSU90cUNpcnVHYkFMeUthUkh2UUhDMmRVQitBWG5TMlhtdG5o?= =?utf-8?B?ZjQvTTVNSGt2WVVXUUtFVElZZkhNVGJlSXExR1p5M1p1S0NqOUMzU2d5M0xt?= =?utf-8?B?Skt2U0lJakNrWXNzcXJ6NVg0SHBZa1lCazQvTXVjcGhmUWszQlJ1WHVheWU0?= =?utf-8?B?dWpQZ252YjFPQURxd2lDZzlkM2VGM0hUaWtocGkxekE1UDQwTmZqTklFczZH?= =?utf-8?B?YThUR1VoRUQ5UVJZN2U4clQwc2Z1U3VCb3A0NXBlcTlueG1tVmF5a2VjRHVO?= =?utf-8?B?RTVjZi9RYUtZdEcxZ2RiNHVDb0l3amhYMVZkRHBEMmM1c1ZpS0Z2WUVqbGNo?= =?utf-8?B?UnFRSmhZVURwNHZBT05CSlo2REVJTG9WVm9KSVF4QmhmditLaHVBZGZnZ3dT?= =?utf-8?B?aUtNNHhpaDRLeFBqNW1YbXBNakYvaUprbjZuR3l3UlY5ZHlYZU1YWlFWSnRR?= =?utf-8?B?YW1QQ0t0OWx1QnhQZGtPNHJBVnRvMUZQUlFEcmxzOTJvNDhKaDh3RFdFYXNh?= =?utf-8?B?R2JyUWY4eXU1WlFJellIZEF3RWtIdXZyak13d2lzSHhVUTlmakJWUkpROEVn?= =?utf-8?B?ZnVSTys3UGJyRXRYWnFiRVZVMTc1Q1JkOWQ4Z1o2TDlJQmtadzdrM0tSNUZ5?= =?utf-8?B?U0twcDRDbVBhbjdqZVdFWEN6cXRTdWhZRTRaTUhJODcyYVJpZDQ3eW1QSk9y?= =?utf-8?Q?2221WBxEMBFNmnmVhArkv0yqJbFZzaIqDa0U=3D?= X-Microsoft-Exchange-Diagnostics: 1; BL2PR02MB259; 6:41lbSxMg0QGflIIb9FoGQLFvHmigx0DwhNa8TXiVi1irx0j0k8lrMxft3T40oCfjmOv1WRbsWR2rMMKDHU82ws7/ElbxfO4+YZADSs9ZHAxkQQhIlqzWxkKwnAwyAgEZ2QfFRJ/pwB2BVIYBzbMUSF4bnLdDfz5xXg/J4ZwaSh3VIdvVVKEqWNFX4HG0ykl/QFpDX0Ie7YA9H7LVbRL0HfzJZpwXelUjkaS09/D9agI0FT0h3FGeXOAzdqVG1OxUe/ZEj72iPVcjNQoSl9g7mD0kLBpxy2KhX7cf7LYxKx2QH4uHqTBBozKK7sdVvJM5EWD1VUcmRxTIa5f8TI1nMA==; 5:xIW47qgpJ5L2UHodBx24viaeByoRHgjuAi/8HsQIpWxT6Jtk7oVvYHfw2BJjC+yYEXRrP9z2XLrErEunYcqA5EdYCHqwU78o9g/nL9inN1BExHnMnyZicnYztSMSG6qCLncJFXpUXQEs4u5cxgXFeg==; 24:IVrX/ncxIGYdjCS59ApU0Yy/F0kIN++2DGPRJPlErNGzTBBdaL3a9xqD48h5C48vGpYoUUStjfL8jak1djKmsIC3/GgSfZYruR09HKjer5E= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BL2PR02MB259; 7:mTZUiGLP/6MaPJWUJfkfPghZTA0sQCCbBVnJE3AxKryeTfU6+Nv3ZcYEEAkcidi+A2Klh/3kQE1lXCUnCABg0QBWCYq4t4DTqPgn4tv4WQiBaeuK70JTrih7b3boCMMWKdx28Cg+I0Q9yu73UpJuJO9Gmhm1IfRGNivo6+7kEC3CCDx+Pj/pnfXtM0m0ZNfwSUHu5OkKjWZ7DGB9+WkVo0JDOLQIoO/io52rhRar3fjz1CGoNR2ZXWR5EtMbobMoRF8//xNgvdenK6clYiQ1xGm3p7RZ1IqB3sUfWjq4JHUClJK3rc4wqYEpBU/AatPKCk8irAvoAzoiWp/0y7AS1sAU6y0rzFMAYplj0r1Srho=; 20:5XM6SJ60/qeOJMakgES1llMGu26vhPxZEFoCmi2jirtjQihCqNp1FYtMxa8XfDTkrRM/15TG9GgRIRc4Rz3X+p0sKzGqCxYXZWaMVe6LGn/JN/LRaaOPd+ywngfl1B+plywvp74ub6pZrahgYq2CV0YxA58OKbfITZBYFrmG6OVLbkaDu0fxFKMqDx4EfYX1jb+iV5AyNE25BNQa52SJju6noXe9VnyfZ4GUAawVxg9314pZCJyjcVwdxlPt8amr X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Oct 2016 22:51:39.5932 (UTC) X-MS-Exchange-CrossTenant-Id: fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d; Ip=[63.163.107.21]; Helo=[milsmgep15.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2PR02MB259 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 Multiple functions test the BLK_MQ_S_STOPPED bit so introduce a helper function that performs this test. Signed-off-by: Bart Van Assche Cc: Christoph Hellwig Cc: Hannes Reinecke Cc: Sagi Grimberg Cc: Johannes Thumshirn Reviewed-by: Ming Lei Reviewed-by: Johannes Thumshirn Reviewed-by: Sagi Grimberg Reviewed-by: Christoph Hellwig --- block/blk-mq.c | 12 ++++++------ block/blk-mq.h | 5 +++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index b5dcafb..b52b3a6 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -787,7 +787,7 @@ static void __blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx) struct list_head *dptr; int queued; - if (unlikely(test_bit(BLK_MQ_S_STOPPED, &hctx->state))) + if (unlikely(blk_mq_hctx_stopped(hctx))) return; WARN_ON(!cpumask_test_cpu(raw_smp_processor_id(), hctx->cpumask) && @@ -912,8 +912,8 @@ static int blk_mq_hctx_next_cpu(struct blk_mq_hw_ctx *hctx) void blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async) { - if (unlikely(test_bit(BLK_MQ_S_STOPPED, &hctx->state) || - !blk_mq_hw_queue_mapped(hctx))) + if (unlikely(blk_mq_hctx_stopped(hctx) || + !blk_mq_hw_queue_mapped(hctx))) return; if (!async && !(hctx->flags & BLK_MQ_F_BLOCKING)) { @@ -938,7 +938,7 @@ void blk_mq_run_hw_queues(struct request_queue *q, bool async) queue_for_each_hw_ctx(q, hctx, i) { if ((!blk_mq_hctx_has_pending(hctx) && list_empty_careful(&hctx->dispatch)) || - test_bit(BLK_MQ_S_STOPPED, &hctx->state)) + blk_mq_hctx_stopped(hctx)) continue; blk_mq_run_hw_queue(hctx, async); @@ -988,7 +988,7 @@ void blk_mq_start_stopped_hw_queues(struct request_queue *q, bool async) int i; queue_for_each_hw_ctx(q, hctx, i) { - if (!test_bit(BLK_MQ_S_STOPPED, &hctx->state)) + if (!blk_mq_hctx_stopped(hctx)) continue; clear_bit(BLK_MQ_S_STOPPED, &hctx->state); @@ -1332,7 +1332,7 @@ static blk_qc_t blk_mq_make_request(struct request_queue *q, struct bio *bio) blk_mq_put_ctx(data.ctx); if (!old_rq) goto done; - if (test_bit(BLK_MQ_S_STOPPED, &data.hctx->state) || + if (blk_mq_hctx_stopped(data.hctx) || blk_mq_direct_issue_request(old_rq, &cookie) != 0) blk_mq_insert_request(old_rq, false, true, true); goto done; diff --git a/block/blk-mq.h b/block/blk-mq.h index e5d2524..ac772da 100644 --- a/block/blk-mq.h +++ b/block/blk-mq.h @@ -100,6 +100,11 @@ static inline void blk_mq_set_alloc_data(struct blk_mq_alloc_data *data, data->hctx = hctx; } +static inline bool blk_mq_hctx_stopped(struct blk_mq_hw_ctx *hctx) +{ + return test_bit(BLK_MQ_S_STOPPED, &hctx->state); +} + static inline bool blk_mq_hw_queue_mapped(struct blk_mq_hw_ctx *hctx) { return hctx->nr_ctx && hctx->tags;