From patchwork Thu Mar 9 16:58:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 9613663 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 5988A604D9 for ; Thu, 9 Mar 2017 16:59:33 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 49E24286BA for ; Thu, 9 Mar 2017 16:59:33 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3CCB8286BE; Thu, 9 Mar 2017 16:59:33 +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 8E1DD286BA for ; Thu, 9 Mar 2017 16:59:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754952AbdCIQ7N (ORCPT ); Thu, 9 Mar 2017 11:59:13 -0500 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:40026 "EHLO esa3.hgst.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754769AbdCIQ6s (ORCPT ); Thu, 9 Mar 2017 11:58:48 -0500 X-IronPort-AV: E=Sophos;i="5.36,136,1486396800"; d="scan'208";a="1961561" Received: from mail-co1nam03lp0021.outbound.protection.outlook.com (HELO NAM03-CO1-obe.outbound.protection.outlook.com) ([216.32.181.21]) by ob1.hgst.iphmx.com with ESMTP; 10 Mar 2017 00:58:35 +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=VB/rCdgOnNX0SNjpQng3jjvWgwuM0nEorwbYWKYTeHs=; b=FvjN00qhDrV3NOkbq5e0xhFaUo2IKt9Kt7djZwAZLgik+C2hC//c7kqy7qYIuVOlJv2dRNyjimMceIMeICE+GmqyMgUud6OG1Sn0Y8pX9HWm258fhqNL4kdg0U6HGK9n+kUWWV9EB1pFBR2NmoFm0jCHKBvfJek4KfL0t+DsDkQ= Received: from DM2PR04CA039.namprd04.prod.outlook.com (10.141.154.157) by BLUPR0401MB1492.namprd04.prod.outlook.com (10.163.83.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Thu, 9 Mar 2017 16:58:32 +0000 Received: from SN1NAM04FT032.eop-NAM04.prod.protection.outlook.com (2a01:111:f400:7e4c::202) 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.961.14 via Frontend Transport; Thu, 9 Mar 2017 16:58:32 +0000 Authentication-Results: spf=pass (sender IP is 74.221.232.54) smtp.mailfrom=sandisk.com; gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=bestguesspass action=none header.from=sandisk.com; Received-SPF: Pass (protection.outlook.com: domain of sandisk.com designates 74.221.232.54 as permitted sender) receiver=protection.outlook.com; client-ip=74.221.232.54; helo=sacsmgep14.sandisk.com; Received: from sacsmgep14.sandisk.com (74.221.232.54) by SN1NAM04FT032.mail.protection.outlook.com (10.152.88.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.7 via Frontend Transport; Thu, 9 Mar 2017 16:58:31 +0000 X-AuditID: ac1c2133-99bff7000000c960-d2-58c189b401fb Received: from SACHUBIP02.sdcorp.global.sandisk.com (Unknown_Domain [172.28.1.254]) (using TLS with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by (Symantec Messaging Gateway) with SMTP id 36.46.51552.4B981C85; Thu, 9 Mar 2017 08:58:31 -0800 (PST) Received: from ULS-OP-MBXIP03.sdcorp.global.sandisk.com ([fe80::f9ec:1e1b:1439:62d8]) by SACHUBIP02.sdcorp.global.sandisk.com ([10.181.10.104]) with mapi id 14.03.0319.002; Thu, 9 Mar 2017 08:58:27 -0800 From: Bart Van Assche To: "linux-kernel@vger.kernel.org" , "hch@infradead.org" , "linux-block@vger.kernel.org" , "tom.leiming@gmail.com" , "axboe@fb.com" CC: "yizhan@redhat.com" , "tj@kernel.org" Subject: Re: [PATCH 2/2] blk-mq: start to freeze queue just after setting dying Thread-Topic: [PATCH 2/2] blk-mq: start to freeze queue just after setting dying Thread-Index: AQHSmPZe5nYT78/Ep0GJ+9WTi9E4LQ== Date: Thu, 9 Mar 2017 16:58:26 +0000 Message-ID: <1489078694.2597.5.camel@sandisk.com> References: <1489064578-17305-1-git-send-email-tom.leiming@gmail.com> <1489064578-17305-4-git-send-email-tom.leiming@gmail.com> In-Reply-To: <1489064578-17305-4-git-send-email-tom.leiming@gmail.com> Accept-Language: nl-NL, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.28.1.254] Content-ID: MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrLIsWRmVeSWpSXmKPExsWyRobxn+72zoMRBttWq1r833OMzeL0hEVM FntvaVtc3jWHzeLX8qOMFu9/XGe32HLlLpsDu8fE5nfsHjtn3WX32LxCy2PTqk42j/f7rrJ5 fN4kF8AWxWWTkpqTWZZapG+XwJWx7tFMloJ9IhVXrzcwAqFgFyMnh4SAicSSjQuZuxi5OIQE ljBJvNhziwXCOc8osWDqEiaQKjYBI4nZE/aAJUQE/jJKTO6+wQySYBbwkZjYPAGsSFggUOJx xz3GLkYOoKIgiSeba0HCIgJ6Ej+372cHsVkEVCS2f/wK1sorYChx8uNVdohlTYwS31eeYQXp 5RRwk7j8xRfEZBSQlWh5zQ2xSVzi1pP5TBBHC0gs2XOeGcIWlXj5+B8rhK0g8XnFPzaIej2J G1OnsIGMYRawknh/UgkirC2xbOFrqAsEJU7OfMIygVFsFpINs5B0z0LonoWkexaS7gWMrKsY xYoTk4tz01MLDE30ihPzUjKLs/WS83M3MYIjVdF4B+O/De6HGAU4GJV4eD/kHowQYk0sK67M PcQowcGsJMLr1AoU4k1JrKxKLcqPLyrNSS0+xCjNwaIkzhsze2qEkEB6YklqdmpqQWoRTJaJ g1OqgVH86e0wXQ/B37OqZh14t9Ppsc3yKO+3BYLrWPhDgjRMed2XXf37dfaT40YamlrL74fw ivSo1skmLBf9/qBJa8mirAUO9bUiiy496/728LTu7E159w4Up+zZv85gTal1zv6vJ9yrQk5e UZLm6SuOuqAQPpvtzh7O6kNzA0Rq++/NkrmaL5qx+YYSS3FGoqEWc1FxIgDFSlRp0AIAAA== X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:74.221.232.54; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(39860400002)(39450400003)(39840400002)(39850400002)(39410400002)(2980300002)(438002)(24454002)(377424004)(189002)(199003)(9170700003)(6116002)(81166006)(8676002)(5660300001)(102836003)(3846002)(7736002)(106466001)(33646002)(8936002)(47776003)(229853002)(305945005)(106116001)(8746002)(2501003)(356003)(2950100002)(53936002)(23756003)(6246003)(76176999)(189998001)(2201001)(4326008)(38730400002)(2270400002)(39060400002)(50986999)(103116003)(2900100001)(54906002)(36756003)(86362001)(54356999)(50466002)(2906002)(7099028); DIR:OUT; SFP:1102; SCL:1; SRVR:BLUPR0401MB1492; H:sacsmgep14.sandisk.com; FPR:; SPF:Pass; MLV:ovrnspm; MX:1; A:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; SN1NAM04FT032; 1:qi98RB+5ieLOqjiZ6xmLEsL+2pC+p64JP8ON6277SKLcMtf8zfw2fPJTq+sCfojfjSt0IEIaOyMmuaUOvWTxD4+uaZnpCr8YQV9YzeMbtq/taXNfzbJuC4sxFgJB1nruHjOzr8JHtRu/dNAbLJPDzbHhqouVep/yo3EA59ftfpWuNV6BuwSOy057zXv8ePG3H6wKaZ0Mx8wsxgR6/vZYkCKxsK3Rn3Jj1KZsl3z2fDDiFZhICUhLBj7yCwrF7Faz2FtC/aTg1TsLy8KM+sONUIboEqc0jKFoswxBAftTWWMVvqOhc9EYyXVykgtV+j6H2mHIZqiQtQZJGE1CEZ3lCQ1qMlp6jveNPWGAhcg2S0VMZZUyE+a8EWzzsOOXAjT42OAX0/C1FyiltzrC0xgWJ9Ha7uWh0T/PjjTmF0JP21hYmQY+A6lwx3c5jrInhMd5ZKPAdrR86HyOd7rzAbPK2G0o4HVvV3jK2CU3WHJuoxPXVjVMTANb2pSBiMXjkihxI+PPGXGNmv1C+m5mLIRJ1YfT0/HREsKjwPP9mc+VHgYXyRwjk5YhPnn8KmZgoqWs X-MS-Office365-Filtering-Correlation-Id: cae61150-5f8f-4cb3-8709-08d4670d84aa X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002); SRVR:BLUPR0401MB1492; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0401MB1492; 3:lxyJLu+AbCVDyiLhiZLquJc9knqJN+rM9fs6bdcUwyhgP+yZ5XN7NSXTgsDocYZAn3Tp1dOnbO1TE+jGBRRmYXoJNV/CnhkXygyx8bK73eVCZhjRp9iT5DQtD0vhtJzy6gp0yoMKWCfyHUTrE55cdICYJrNkaieTxQCB7SOirWwjB970dsx+XYc5pLbP/pIY6IPj2yMNkZiFkjjzFlV1yFrisT/sv6bJ6LNgh1sVB+LqYtQSoJWQ/B4gYQ3QxQ39+5XfDI0aNrjyoPwaVgSXtME/mVIyPb1i7jCqbbD9lpPLebPZDM9xr6oEH1d5MbcoZtZ8pO/noFQeoTPNPhuMlDhz0V0UihMp6HZcGfaLLRpaL6+8P82+F3Tj1chVd5K3kVC8vprafYQnXKS2q04gyA==; 25:NhTyahJ3avYFW4rmf8OdlF/WEKC+4dJmxMc83p6PlYhD8zawbfaAAAttXIi2hIWx/rKIGvVdKW268Kxiv1dcn4OSxVXicRVNXpvf55hW/ZVKsupTTIHKsB0bzHboNJuRgwfJHWg20bFQxqw6lle5zj69Q5sx+OCjuiahQyT6QmDCZ1Y7LihlqQJrl4DwmughXJOh8Dj12YfpL7IjNCcpPSlBLXG+VCvj779yIr+KeoNhZvw7czyKucTqHneqo/u7UHXO/E1XvRhA4XJuzUTdMfhwDIv6LCXJYg0CIulgimLKXG1Fp3M36TjsePjwcOBbNi0kNHMSbiAUR3qozjlZzwehWpl0dIDWRtaqAD2lVQmXaw0j+9qtbZbAOe0IZdqT0/Co1fMRuPzURcqhX3oyywEW4rwdWBEDHzmYJGhjlPT+xTwE11fl6Ds9kPI9xe7f9j6PUD7wcVO6q/NyLjr5mQ== X-Microsoft-Exchange-Diagnostics: 1; BLUPR0401MB1492; 31:2JTP/qY2GugHq4SArsxYtu/GGUHVdZihRkPATdxOAXKKrueC46BZsqDcqyT80KdqjUOZVJ8xR8GVXDFVVjNqabep0rMQznsdJz+SQNq8MNTF9QGQSVE0TvLogU4V2+Ny9ZZUJUggqsp8P+rzUITU8CBpfJkwQTJoCLh7dtCfoVpZA03l5RsDJBw9fLwOI51YxLI3E/XDMkTxJHL4fil6wBbr+P6/JibtYZiMFoc/hs4qGfnpPnnQp1IZu8Qc2FsG; 20:rmsFPH/SbRNQ9GNkeMA4V+WDLakYlYasZ46Td8BuhXm9oP/d0TiYP0uFlva1tCP08hIu1/UvtK//7M3cGDEANLiLTUD4V2o4SyBZ2VKvemBJa7NQoL5+YX8ZpIf5ULoQcghUm3+BTUt8XuuazPuXr7mEsARzQhayFiThvCrLwHiT8TV12EnHLN2w0TMOtI+rE/LSgubR+j9ZaVh3C3uR6LnU2AmJmF7MsTTFBMJ/3bDFGHfTJ/ZPEufRi/WkZwRlGj76febGNxtidEMesdD2m2csFF9vkJbgTCF7z2z3QBuAMul+M6HVqJz9rOaQsXV1CU2GFu5+tQn2L79EzwsKP6NVHq1mu6rTHcixKKR/Nroy85/N7xp1gnwU1nc8VrVFAwVg9SUGRinDM4R6asuSX+RCRyIHRxVeFBB10E9i5DTbmeGjhrwwwJ3m9UnLJ+RGHRcuxEvE8AwQTkHVKyrk4CCqGaftDPnFXoVMIs4c+8QgHxsHOH5jktaqT0KcnTNL WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(13024025)(13023025)(13016025)(13018025)(5005006)(8121501046)(10201501046)(3002001)(6055026)(6041248)(20161123564025)(20161123558025)(20161123562025)(20161123555025)(20161123560025)(6072148); SRVR:BLUPR0401MB1492; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0401MB1492; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0401MB1492; 4:EhOHjxZk2sEWjlLzX+lkARs/Rg6DhBICwiO6JKDwBvpxhVZSxzO+9t3ZcxwnpUiRbW35UhxWb11BVIY4mGBksuqx9ngBzYNekyXMl+XxhMxWfiYEB9ArTY1TQdMojNTwBQWuaizKl6KMUZVGB0EjAHveLaUUTErN3B+vr9LT/KwmxaQnmazByePsGLRrkRy6zMI683wJhqtgUDTLypbPl8+opi3VGo+U9QhUSGANE0IphY5XRn1AhUUz+UPwBjiN12hypcoBOVM8KJy+A/wLCD2d7pq1I5o2/neN61L6FX1fWCUWw/HA0AFMRaPDzRsxNBUe/wv32U8EDyAlum1L7E1z6wRPgLmWinu3kD3Qo9c7yLE7rlqYFmVdZxZGJTe/OaKP+h+VZBDpM4JTDzEZV1Dxx31n1CGqonFt+mk6/IJexHooa2qrgg+iQDrVEZphZ3nHjD1Z7CI87WA0MKJNLMlP5g0B96iSg6pKjVi645cenaxT/YGLvnv5m6ndoGAD8TLqxiiG701Rvr3f8/EbGqKYl9HHWdxP7LrHUYzrYRqKinhtkiMeNMHkfj/Mn2iBaBG9kl/4MoiYFpqMVq9+6InzxoP0siebJp4HtbtbAge4ad03qEevt04OdyBrXGl4r++iJb9gavrWOnEIsdIYZIorFJH2QdxgaxyPxNEKHZBuGnalgwvuXspL2MvJ2NCG X-Forefront-PRVS: 0241D5F98C X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1; BLUPR0401MB1492; 23:LSQ84fXaEIUXUdHbb4ch4XdIHDgCE8IDPVqQA?= =?iso-8859-1?Q?G1uq56+L2B13d4bvrh0i8r/Mms+0M6bbAXvWW1qftFMeS3jPS9NZJZM8SB?= =?iso-8859-1?Q?iMNu6BxsslBTwtdK/EaoehV0ZPMCC++I6PBip0arbf6+LkpCvZCDyiHFKA?= =?iso-8859-1?Q?8YLSDMHXSBQycZWZMGKATAhbEiOicy2ORRgklXllOLC8e8sajha1juMFDy?= =?iso-8859-1?Q?VGaSUBazB0Ix0PFueqD65De6dovT1kTi8cVkph3QuDfoopc1q2QXzNWzRU?= =?iso-8859-1?Q?QFnZ29y+6uU5rplUhjNhrehSUsihP+e/gF+G6tX4jSNZUW2K04oKrjFQL9?= =?iso-8859-1?Q?sOBg0Kou+24SnHoz61fBOTEIYTLpxv9y92/aXj45CxcfnbXDHPIo4+bQVr?= =?iso-8859-1?Q?W/ZiDl9MS/znp/t7RF1M6x/O5Sv6GRzCnpDxYNpm9V/SaWkPl4FzqpW0vL?= =?iso-8859-1?Q?38yMMiVCmzCV+e7NgIrqbkL9VcKJ8VmpT7fDyWaOc9U+jFvvnemUTa87wa?= =?iso-8859-1?Q?vIsbCAvQVjwuCE0g45hWRNTRfxYayMaCBl+6LKJmhCmVCqhHuAzuQMDHAn?= =?iso-8859-1?Q?mRwrJPDm49MfBkZ9ZaMy4BIt1JYTaC+LhvS0LbTgTwpBuyFuZnQ9TWVnUF?= =?iso-8859-1?Q?RCc7XTnKNPUIX70Kglfk2NxGhds+aLEFWvMJgJhYEffa7Sz0JtgcJO4L8f?= =?iso-8859-1?Q?BITt1cu2o1oy6GWHvf0P4/aB3Cn+u6HtYRsj+6XaZvXXEnozuhxuQdIJOv?= =?iso-8859-1?Q?AjgyVKEFapIhYDN0wZeQ0TQNklVr7QMJJfwanuYDOAgHeTyi9Rmr3meP6D?= =?iso-8859-1?Q?g/sOyRFux3mNrD5KkSOfYYEJjNMlUlvmkQSVPxKFEqOWahZiuUtvFaJ1Iy?= =?iso-8859-1?Q?iBrq8szOIRN3zscSD38DtE/KzJQTdKCLkrOhBWHOU4SGADkn5q9zSGGbqO?= =?iso-8859-1?Q?bGq0atW2HOj+A4525lOhZGpbqEIDfv9RJVyoBR/mirCd84FkNaZpKH7006?= =?iso-8859-1?Q?n84l+esom0ZBbqP0ZceWBAOhGYCLfkWpipJPpoY0QUkWf978OkLK1+Vckj?= =?iso-8859-1?Q?63yTC9wttCdno6luIguO+PtS25YqVBeTO8j5Imi6cAxWwYeMUJovM8GVM2?= =?iso-8859-1?Q?Ag6RIexhnkJicpG0WzKVKeeGldIzzr5C+ED5BcKDAFsNQBRE5O9/bAISi2?= =?iso-8859-1?Q?P5dWP/Lcf7/YML1JFluWns//yv1UrahC8qL/QMoNZMamEy2EG+rS3sdmky?= =?iso-8859-1?Q?AUHQehexfrYFdO7Mz5xgVJtYS75HG7OYaVywFpld46bplRfPw2KpMLsFIB?= =?iso-8859-1?Q?3EUA=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0401MB1492; 6:DVriUeQzi/5eAdbDAB7VpcGwlDhrybgaV8M1iG6JjzhJ3qGarMtnAq1NRxdnzvLYKMZ5IZEnFsUvkOnhmG80hZ5m2z1qDhQoF7XHRuemus9BAtp6bLvF4pfGwI1UYUCcF6oXB/ZY952hZaC6xoPRUYXoAI44VFpDqz5AM7Zwdid389E21KKRl8pkKb66Kp5j36JivjNI9MvKbz2XxMr7qojFmNVPUdbsRQvPJM93b8nf736HB+3XbuJEW7rQ1Aera8ltHWyMMhM2fOrrDXiPycNdm4HxQhvAjXtkKcnjPI3KI8+X7IK9OzwMWnTrDu/5iKSMsYV/yemiTQamSGkjxIscl/7obZGmioLjHMtBc+0GiRdZrMOXUUVoN1hqtugL4HuS4hGuOFjVn9QXI5UybTHjwGUYxcrQdN1gSvVyfVE=; 5:Lk8bpUkPqxa6kPujTJEgB5VK0MNcpFAmU0EsJ2m1K5GMhy3HFRnfQ5ZEIbEEsacX+RjKGCu9SgpTHE07S9+FC+AO5Pj1xiJMvX9MPgVesdfRnIvG+xcMvhRFRU3WAq1UXcI5yCRBWe2s7OnBrvvJpQ==; 24:/6IUgYJOEvXNgx3Wtg8uXgew5tUkjQiZ/8FI5pNNYkr0vzUK/03Cvrx6x/vekFZ8Z1MQc6VyVYhVTZTkRRQzuBF+k9rVzXtn2upnbnFcQHs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0401MB1492; 7:B1hnIPnsAVRzuJmTPIoyrEAxd/WVaTsFBUc2MFlCLioL5Pli6nmnsKozbbhUw619OLFPK10k163ZylMd/02hNl15mdkHjoAM4oBd0jUZ1d29Ll4HBVKxt3+SH/esCMN+mJCJmMoJNfJUR+91iK26r/LDWiARZmmkhDK2BYkME506biv9iBBC/8B1KmbqKkQe96LuuVjBBjdObrs3Bv3BtdlY2D7ylUPZfxnVV/ePedqs2JXdXw8G26XcNeJwr5WH+T2+q9kETDTTMCmGqo16ohhKsmswZz2Nw7F7S7nOo+5sD/D9T+yKrZ5g2YZOsdS2+ozYjS4cGhV93Q6XrruJOg==; 20:0SEyTeeOGgHlapcRxBcjTE9aGWYhJewjiaVyiC0/hykV2tzrbBPoYkzw/QcQVvIjupg15+POk/g8oeb0t1Q3R4jp67f+DYG3sdm/lU9XTleJZOzNuJlRQ+/SRESUdBGu9dgY3Qxd2vIhd0EJYAHkWSm81GXlFD1t+RhJREISWOk= X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2017 16:58:31.7992 (UTC) X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=b61c8803-16f3-4c35-9b17-6f65f441df86; Ip=[74.221.232.54]; Helo=[sacsmgep14.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0401MB1492 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 On Thu, 2017-03-09 at 21:02 +0800, Ming Lei wrote: > Before commit 780db2071a(blk-mq: decouble blk-mq freezing > from generic bypassing), the dying flag is checked before > entering queue, and Tejun converts the checking into .mq_freeze_depth, > and assumes the counter is increased just after dying flag > is set. Unfortunately we doesn't do that in blk_set_queue_dying(). > > This patch calls blk_mq_freeze_queue_start() for blk-mq in > blk_set_queue_dying(), so that we can block new I/O coming > once the queue is set as dying. > > Given blk_set_queue_dying() is always called in remove path > of block device, and queue will be cleaned up later, we don't > need to worry about undo of the counter. > > Cc: Tejun Heo > Signed-off-by: Ming Lei > --- > block/blk-core.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/block/blk-core.c b/block/blk-core.c > index 0eeb99ef654f..559487e58296 100644 > --- a/block/blk-core.c > +++ b/block/blk-core.c > @@ -500,9 +500,12 @@ void blk_set_queue_dying(struct request_queue *q) > queue_flag_set(QUEUE_FLAG_DYING, q); > spin_unlock_irq(q->queue_lock); > > - if (q->mq_ops) > + if (q->mq_ops) { > blk_mq_wake_waiters(q); > - else { > + > + /* block new I/O coming */ > + blk_mq_freeze_queue_start(q); > + } else { > struct request_list *rl; > > spin_lock_irq(q->queue_lock); The comment above blk_mq_freeze_queue_start() should explain more clearly why that call is needed. Additionally, I think this patch makes the blk_freeze_queue() call in blk_cleanup_queue() superfluous. How about the (entirely untested) patch below? Thanks, Bart. diff --git a/block/blk-core.c b/block/blk-core.c index 1086dac8724c..3ce48f2d65cf 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -500,6 +500,12 @@ void blk_set_queue_dying(struct request_queue *q)   queue_flag_set(QUEUE_FLAG_DYING, q);   spin_unlock_irq(q->queue_lock);   + /* +  * Force blk_queue_enter() and blk_mq_queue_enter() to check the +  * "dying" flag. +  */ + blk_freeze_queue(q); +   if (q->mq_ops)   blk_mq_wake_waiters(q);   else { @@ -555,7 +561,7 @@ void blk_cleanup_queue(struct request_queue *q)    * Drain all requests queued before DYING marking. Set DEAD flag to    * prevent that q->request_fn() gets invoked after draining finished.    */ - blk_freeze_queue(q); + WARN_ON_ONCE(!atomic_read(&q->mq_freeze_depth));   spin_lock_irq(lock);   if (!q->mq_ops)   __blk_drain_queue(q, true);