Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751236AbdCQX0l (ORCPT ); Fri, 17 Mar 2017 19:26:41 -0400 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:22006 "EHLO esa2.hgst.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751100AbdCQX0g (ORCPT ); Fri, 17 Mar 2017 19:26:36 -0400 X-IronPort-AV: E=Sophos;i="5.36,178,1486396800"; d="scan'208";a="100103881" Authentication-Results: spf=pass (sender IP is 74.221.232.54) smtp.mailfrom=sandisk.com; fb.com; dkim=none (message not signed) header.d=none;fb.com; dmarc=bestguesspass action=none header.from=sandisk.com; X-AuditID: ac1c2133-99bff7000000c960-b8-58cc70a38e5d 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 v1 3/3] blk-mq: start to freeze queue just after setting dying Thread-Topic: [PATCH v1 3/3] blk-mq: start to freeze queue just after setting dying Thread-Index: AQHSn3Xlt33ED9KuekyH4tIoIrwUGg== Date: Fri, 17 Mar 2017 23:26:26 +0000 Message-ID: <1489793173.2826.23.camel@sandisk.com> References: <20170317095711.5819-1-tom.leiming@gmail.com> <20170317095711.5819-4-tom.leiming@gmail.com> In-Reply-To: <20170317095711.5819-4-tom.leiming@gmail.com> Accept-Language: en-US, nl-NL Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.28.1.254] Content-Type: text/plain; charset="iso-8859-1" Content-ID: <54FEFA15E6037141A537835031835060@sandisk.com> MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrIIsWRmVeSWpSXmKPExsWyRobxn+6ygjMRBpOuMVv833OMzeL0hEVM FntvaVtc3jWHzeLX8qOMFu9/XGe32HLlLpsDu8fE5nfsHjtn3WX32LxCy2PTqk42j/f7rrJ5 fN4kF8AWxWWTkpqTWZZapG+XwJXx78Eu5oIpHBUHnsxhb2A8z9bFyMkhIWAicfvSKvYuRi4O IYElTBJX5yxignAuMUqsntTPDFLFJmAkMXvCHhaQhIjAX0aJyd03wBLMAj4SE5snMIHYwgIh Endv/wcbKyIQKjH9zkRWCFtP4lDjLLA4i4CqxPqO62C9vEBD17fdB+sVEsiSeLJmHZjNKWAl sfLvb3YQm1FAVmLx9BYmiF3iEreezGeCOFtAYsme88wQtqjEy8f/WCFsBYnPK/6xQdTrSdyY OgXKtpJ48GQaI4StLbFs4WuoGwQlTs58wjKBUWwWkhWzkLTPQtI+C0n7LCTtCxhZVzGKFScm F+empxYYmugVJ+alZBZn6yXn525iBEesovEOxn8b3A8xCnAwKvHw3nhyOkKINbGsuDL3EKME B7OSCO8JvzMRQrwpiZVVqUX58UWlOanFhxilOViUxHljZk+NEBJITyxJzU5NLUgtgskycXBK NTAGBMrfK7c8NytAQePiMec3a15M+3OUV0KGIaJ0nu7W9TaWugmW2QZza6arffzwqChI80yO 7faZ/O0L2Ne8ez0zMPVPt5tlQqVFw3Z+702S2moaj5bdcMjMNvl7579a1KPgPGN2le0uBkfN hDg46o085qhwNRl/UwvbkFq12qgrI4zb8vhibyWW4oxEQy3mouJEAIai2QHUAgAA 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)(2980300002)(438002)(199003)(24454002)(377424004)(189002)(9170700003)(2201001)(2950100002)(356003)(103116003)(229853002)(33646002)(6246003)(305945005)(2501003)(4326008)(54906002)(39060400002)(38730400002)(86362001)(50986999)(54356999)(97736004)(36756003)(102836003)(8936002)(189998001)(53936002)(47776003)(7736002)(106466001)(2900100001)(81166006)(8676002)(23756003)(2906002)(6116002)(76176999)(3846002)(50466002)(5660300001)(8746002);DIR:OUT;SFP:1102;SCL:1;SRVR:BN6PR04MB0740;H:sacsmgep14.sandisk.com;FPR:;SPF:Pass;MLV:ovrnspm;A:1;MX:1;PTR:InfoDomainNonexistent;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;CO1NAM04FT047;1:0YU9g0ZENWWwp0er9/Kab4zg+ExUI1ofJJFzuR4y97b0kvqCl/haFClm9OOx5QYKAqpKYmi1XTEIhJy2mLBPevMhCaJI8h8RpoTVW6XixPYXs14CorcerfXsRfoYjbC1MatUeiC1HchqE5WC9P18WNnnnUsohhcrPw0yD0OZNmmdX4kQWoxv/AtXbVv3FFE4Oxogg16Pi2Bc+GumNAKQkeUsTPw3/6LjvFsf/2Yy8bASSyNf6B1goCrmBWNlxrCcoMeb50Rheav+0mSb9alUvuT0/qtxf4gxy+QVAoXg3wqQ6u6du2JparBvX0TFy5Xj+Dl2QTvj0aN1CMaGSM/5/xhcb5EdDhydmjGAvn6mndIjia43oMrh3yaQURJefbTpL1Jiqr3cLWDXgnWVML7/ElZHQ3YjpQAjdj7oq/6atVUY626XQHRHzTP5ZDZ3zm6RmhP9GhYaxolF55K7xFxguEH5IZHYRVyMKtrSNQx/oEGaWM686/bu3y0ajYvq8BfLGdN1+PSJUOOL4E0UZxq85SQfj0HbwlDcDqCXQCXxXsL2cWWRfXZYJjK1l30xtQCN X-MS-Office365-Filtering-Correlation-Id: 058cb9f3-6b53-4d35-fb84-08d46d8d0af0 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(8251501002)(2017030254055);SRVR:BN6PR04MB0740; X-Microsoft-Exchange-Diagnostics: 1;BN6PR04MB0740;3:trK6s0ADflD6ZRUa0Vx7YHmNPyBDWAOc5FWpRFwD4TGQ6p+Yp/EZx5hT7d7iCvZ11YfTA272fl6Z2z1E5kiwyC1MtPtL4GxxlU0coUH1qLXMqIKPKsAoLMBUnkZZepG+BA9Lo70HLKP9Frb4ogQfKSOP8tdY5LTz2s11OT0xa8VHerZz+A6ZcFq1q6RODdODsK1DPldvZ4CWEJk5agoMeoTjysYg4VyscBnf3zDPFqseXLyXEu0xYUzGAvq+iQ6MnxYQcUPBo2Hs4HL9ADyQUOVVLkW7OSJvo6bjXVtHS9az9UXFpUHfU7XGK1dujES59bH1ZO5OE1oPoKUzQNegwQ8Zo5m1ir0fBMLT3YYN0YooBB6qtmSeQBUsTIxNhaiswXtJhdksdaC9bQR1clGlLvIzRv2sNryIaK7VKNRpyE0=;25:uhg4vd3f7J2deRlHG6SthVyEOV+S+Tisy/JGeaeyvmwax+03QpZQyQeYiUUUo3xi6hj4dKkm3PMVUes7voxjZWmNKRSFkSM/4SKpa0yOonp8NFnoBS3pN+OfinkSP9PdXiLs7H8vCjYmAnX/UkmaA9XTMvreAKQLoWQKoBbbhDxNE2KRI2hvc9k3P3pDG46BspBu72p//iAAmpOk6FRbfrQP6nuRnw/oQnY7t0DvZCNpbNuwZUxhoc1Q+NycIbx+CXtrBkIQahh7IUBt5b+XPhbTiJ9zb5bPQPTCQRh2Z9iyXR+zLxeH4zsrbYG/jMeg3VfFTE68mkM5Gi6nFQtVsgK8oZ9Z6LXmLojl4EzcD0ieR3N2PQW2Frd5XghegpIXHoQmS3nSa+lT9yqiUK9MDByPvKyfiaW19KkTDkVKaadhfSbT7gfNc1peTehEiWMFY6+EWm0MJYMTpQmCxwrfig== X-Microsoft-Exchange-Diagnostics: 1;BN6PR04MB0740;31:t1IEbjDrOA+GCCc26whqHxDUp5HQvkmHuTMM1yZt8B+cjzNTfrgizDn/sNWiOLST3jPXzxLZB6QHwUftn4yuSF5Rp8dnvhKuPq7+ml7/CsNWsZ0tG3GYcWD90dj0ZxjI7EGrkmEu1HtC7Wd/db+w2SWQTcOGPKTx2GUZsfxCtopkAHO1HqRdbEH1mnj7Q1P8Fn3r7OfvNsJ7qi/XRsdYbEQ73GYiI9hOqSaViFPw+mqcer0zRK1chP0D2Ckct6O7uFTZiViyNFipsdMlbVlHUA==;20:gGW1Oei8Dyd0a+Pn8dR/TE1GBX/2QhGfQKQzwI/HCXWYwsJ1AwjncxiiUp+ZOTQOqWKniK2xteT1kWcMMhYZhW7o72wCmUurJ1vTst3cbT16fR9H2SLdj84uSGDq32E4TRY0yxr/VoKkAOCmqPict2hafWBsexwbYmXX+MpinoCiJk0HuRhZrW+16kvTSNagMOigsqZ8Qk62LpaToMvHpIpw3a6fwmR12Zz9SzA+ZMd27Jhn116fq2T3HhkWadC3GLzRBpOoFd/6ZJfJxGh/wqnFDS3pKQdug8Cz4Ty0/7ggQ6VsiY6bWEdNv1eUYynPmE/OwCt/915Ydt7atlv3SEhQRmDrM92974A2h/bBTActf4iqHWLv1TS2b51UOpUQCt7qwBci5qalPzavvmud6S2AesAScRW2E0/M97PEVzI2ncERo7oaiwr5vmuTmYpPhFnVbQ4LL6qgE946yMeSSRcMtlqOdeI+7NkcUVebByxMi065RHhDfLCykjEleHBa 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)(13023025)(13018025)(13016025)(13024025)(8121501046)(5005006)(10201501046)(3002001)(6055026)(6041248)(20161123558025)(20161123564025)(20161123555025)(20161123562025)(20161123560025)(6042181)(6072148);SRVR:BN6PR04MB0740;BCL:0;PCL:0;RULEID:;SRVR:BN6PR04MB0740; X-Microsoft-Exchange-Diagnostics: 1;BN6PR04MB0740;4:jnqwE/2FEAzllhpHMXR97aJYOQ89vOHnH7ftyVnOclcctVsvCNKHyb6S8TIr3QfzSAbizAHK3yJOfly+wUjtPsqG1egK/IcNCh46UN5M5D88r9y6ADxoGLqJ8suIKRjsk1M1AEe5U0686HUozb9+zrrUCKUqvGRLgjMhvS5l5UGxWgXdPQuk6RuJ7FmnPNZoOA3XROJPasMp7tRostYN23kWg3KskwIQhGNX2436j5DOkY+LrNJhVVp9VUx9nPKLLbn36Ff/eohOte5XkonRI35IghXFLVZCDp00++Pz8KUosrqe12ezL4G8erD/j/3hwzhYCcmcs51lrJO8vpbeS9Pesq40Vh+uYWvZHE8s1EoDXh29LR/QQkGtnlKknWNacFTysTJtFAIvFiKRwwgimBuXOykKRIJ2Nhx18npdQmSogMw7ZRTZ9p9BDY45Qet+/MZgGuj4dLn5imG14A4Viz3X3MJ8iqchCNUGkUzeV1atEe9PwcalPGNQfdSOmow8M28gIyo6n3moYGtGArZVlDL9SurUrjocDhBpWLO3F6uJnN/Si5YDhmF1DnBfPavCawJ3ZTqqTnTlHhU1fufkx+bFZ4eAe1M+zLk3ZTR5nodhtQJyI1THXK9fY/2epk+J0oW/3MbomdIhOMhugbFMe907EJQsDCVfeMmdCtLhjHqon2wzy1LArx55BqbNTVMQD2fygH7DdniKWaqpb5xKww== X-Forefront-PRVS: 0249EFCB0B X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1;BN6PR04MB0740;23:wtn9+3OPxX8+IXIxqLPLoiutPAAMBVNGtOX4j/h?= =?iso-8859-1?Q?JyYP/ml1flix5QaLDbdaie5pXwSsPIb+P3Wtr2FixwexB3QF1hdGaJxTG4?= =?iso-8859-1?Q?PR6fKE/Bsb85ubzBaBskg7+8AmMzmwIrAEfimp7Qh+FP82QpiBFVeUl89G?= =?iso-8859-1?Q?ZnNP0dez6lx6Id9DnHZj3lnAFJN1yL6mqZOMXqQ2mTG8PvvU/B1FEKFwl4?= =?iso-8859-1?Q?w3+tuhKmUx6p/syX357nBzfbwp9aT44aeD+0A/hIz/ti7+Xs1lnXecHufD?= =?iso-8859-1?Q?7L0AUhmqz7JuNyj6S9lEWIT1WCJGPHHg1583W2fMXSKxnZ38rDRVA3FOLH?= =?iso-8859-1?Q?rpdN3iaIqjDb2YgH0KHvi60RHeydGmZHLFLMY3/qybInk7vDrkO9qc4afv?= =?iso-8859-1?Q?k+Cv5155v4eLj1nBm/M6zh+NHC3hW95vtpfSd/DYoE36lB7mCn+POO3eGl?= =?iso-8859-1?Q?d5bk6cqoS1C0wVaJOUQCCWFRdLCX1QP2s4JchzIHV44os/y8db+8eiho5W?= =?iso-8859-1?Q?rY1r3cfK+32GksNQo3BAe8KL/BLRGZu5+ppLKq7YGEFhG4R6evJlmlQes5?= =?iso-8859-1?Q?YxkhklppxUvVsrZyKZ7oywkCeyW6jw0VlR9l7zxQFbngw0hwO//oifiMn+?= =?iso-8859-1?Q?F811FNka9r26L8OUTjJ+FGMLLnHGQJUzpI/vB/bvdtKUukRlY4FJ8Xulog?= =?iso-8859-1?Q?Yv4bM7UGhj/Ij9aN1T+OlAQmnBynFpWa3Ue5q/C3ft9mJN7FVY7xgnIl5A?= =?iso-8859-1?Q?mT7JKHZm0XwcMibhhRGTpaAk9k669Kb1vnZ1yXKIpOmSxoKngwR76f2fsA?= =?iso-8859-1?Q?p/XeJfeeI6zpNXglDQdFSQLNcVA6dlOyVYt4kvTL7fSmqycEV7ZUY+jaV3?= =?iso-8859-1?Q?fCPWBQT5BY+/jbnkVLR57UNHYnXqgeZFj/66J42OdL21tCnmcpneFn/OY4?= =?iso-8859-1?Q?U3DiSl5vbMCsap5lWmcR5DExPALf9xjJk8Zn/0Ij8CrMVdg1FE3QnpthHZ?= =?iso-8859-1?Q?ofeqTmHRJ/MWeBUw1CEiTnUR1J6kl8Dh8Kt3hb4EJ2t3k5zkO4sSq1kwli?= =?iso-8859-1?Q?KVB8l20ouyK6/DuIRybyMq4WXfgwYeRyiOy+ec92FnGslByT7qaL6nC+d8?= =?iso-8859-1?Q?MlOc8?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR04MB0740;6:W87lbIjpBBoKfxvjUxwftXXuTTEuERqW0/Rc2mHMBL2vfqMYGa8QhtodIcn2YrHdiqxJv7MihD6Vva5LcmCs1b7738G4xIS3Bm2WDHq+bHdHT9iHtLho7Wb2rcQCH252oVp9R8Sb/CopCZJT0Fd5J3zmyRS8Hm6VWvFiAoU6GbfWDkLu3R0heN8OrhnjFOhZH7BotUPBdGHWqcg/jdhYq7Kx7ytydZbO8k0DUmNYVDrCs2XR5kWiipp1iskfBsqg7SsSjmBSUC9q4HPZp3EUh0XGP0pgTt7mgP9NNRb/a0uEvuPXH5JkuTu05/W+WjZfkZMTRjqKEyFal/DH6fT48ZqiPTSb6VUDWvfohUFcT2pf9ntmDcwDPOdpQQpcckn0Y4x4x1i3co6X61qXV+HFGHT0VKLCe2HqxsvcY5M9q7U=;5:KS323KQgl1S4RanjBjzm3WXfLuBmFIKdh8Ro3oZtKdRmV2fzXHErujVs7BYESWKLNLMyIHYxYQy5bkxnMgT82w20Ry/vMcRbzo4gLomrmBgC5x2NbxQr6yqoO5ASGaHJUr7YhWXEbkNjgi1gzHtXYg==;24:ObXOz6Qz4gpYZeqdOPrNiYnzunH9ek44bnZ0ZKHgOsaRi9wO30JqzDo/PnDVXI/w8VpX1+8ddSkHc4+qdEJOQeNP7LN/pGf/agfSPWyUIZE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR04MB0740;7:xXFERj9ah1ZDHNjKcqTy0sNsQwo3+4D8SIAHG6BdcYRqDg56bM9dqUGgcFizFm8g9fLZ61rvEXBpFyHkAPzxQ2Gp5bOjwrAzeCbARdon9LVT+Ul+/4a5C/kMJDIYS+rhzduteJfVMrOVogrzVhQcVcb/SGMft4Hia5A+xK06SNdhvAD0HUDWxJ/n0qhhxIoDmp4l1brgWuubOlxT2yVOeFNZJ50v+80J1Ig8Q9NSvSv7YVrsR1W3XFWgTsHh2ix6CkX93prPyZwF7LOfTZ1+duXU5XfSyrYDBxAoFvMx1kdSyyP7hUYwMMGcU6t4XBUm8ABHixpSIJLJRj+o4mmRlQ==;20:qa8G5Q7LMDkoqf0+czERGcD2GDsQMNGO0D3QfAYhCBHiM9c8bkumsq7KRdJcdHYUoAurxBRAuZTjjcUAJ/IWwqTv6wQPHo8e1Qxj0+fIgwHxLtS67h1/nydE9F/5y563PsDUY6F0MNe728WTpJNSqNVgPe0Js3PN2E5kueMdSVs= X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2017 23:26:30.3088 (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: BN6PR04MB0740 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id v2HNQqAv023238 Content-Length: 999 Lines: 32 On Fri, 2017-03-17 at 17:57 +0800, Ming Lei wrote: > 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 undoing the counter. > > diff --git a/block/blk-core.c b/block/blk-core.c > index d772c221cc17..62d4967c369f 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); Hello Ming, The blk_freeze_queue() call in blk_cleanup_queue() waits until q_usage_counter drops to zero. Since the above blk_mq_freeze_queue_start() call increases that counter by one, how is blk_freeze_queue() expected to finish ever? Bart.