From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756761AbbIXQn6 (ORCPT ); Thu, 24 Sep 2015 12:43:58 -0400 Received: from mail-by2on0067.outbound.protection.outlook.com ([207.46.100.67]:7668 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752800AbbIXQn4 (ORCPT ); Thu, 24 Sep 2015 12:43:56 -0400 Authentication-Results: spf=pass (sender IP is 63.163.107.172) smtp.mailfrom=sandisk.com; gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=bestguesspass action=none header.from=sandisk.com; X-AuditID: ac160a68-f790b6d00000123b-8a-5604284509ae Subject: Re: [PATCH 3/3] blk-mq: Fix the queue freezing mechanism To: Ming Lei References: <560323AB.80900@sandisk.com> <56032432.6080006@sandisk.com> <20150924112251.2ec061fd@tom-T450> CC: Jens Axboe , Christoph Hellwig , Tejun Heo , "linux-kernel@vger.kernel.org" , Akinobu Mita From: Bart Van Assche Message-ID: <56042844.60603@sandisk.com> Date: Thu, 24 Sep 2015 09:43:48 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <20150924112251.2ec061fd@tom-T450> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupmkeLIzCtJLcpLzFFi42JZI8azSNdVgyXMYMFNXotXBzoYLf7vOcZm sXL1USaLy7vmsFn8Wn6U0eL9j+vsDmweE5vfsXvsnHWX3WPTqk42j903G9g8Pm+SC2CN4rJJ Sc3JLEst0rdL4MrY0P6NvaCFtWLvkVa2BsZ2li5GTg4JAROJk3P3MULYYhIX7q1n62Lk4hAS OMEoseb7RnYIZwejxMzjfWwwHXsnTWCGSGxilNh+fwM7SEJYwFHi1Mz9YGNFBFQkHvVsBosL CeRIrD23jRGkgVngEKPErWnzmEASbAJGEt/ezwRr4BXQkFizawkziM0ioCpx+f0lsBpRgQiJ U2ffskHUCEqcnPkErJ5TQF9i64s/YHczC1hIzJx/HsqWl9j+dg7YdRICJ1kl9kybzQRxhbrE ySXzmSYwisxCMmsWkv5ZSPoXMDKvYhTLzcwpzk1PLTA01CtOzEvJLM7WS87P3cQIjiKujB2M WyeZH2IU4GBU4uH9oMccJsSaWFZcmQv0IwezkgjvARGWMCHelMTKqtSi/Pii0pzU4kOM0hws SuK8vbk6oUIC6YklqdmpqQWpRTBZJg5OqQZG7VeS3yv6jPuLflyfvKfqaArXTMPTj/Patwhx r1zarP7XNeGUQdz7P2cb2JP+2G8qV3TZk+O6tm7T+enr1Xcqp9ySMVXY9OlA5+eF++alpLqu XcUo8/X3taiI/nM7U9+H+l3plPq35rX9t4Pek5+ISX97kq4iPC/DazLr15bJji84Ps1++veB oxJLcUaioRZzUXEiANoz/uyeAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrPJMWRmVeSWpSXmKPExsXCtZEjRddVgyXM4FGixasDHYwW//ccY7NY ufook8XlXXPYLH4tP8po8f7HdXYHNo+Jze/YPXbOusvusWlVJ5vH7psNbB6fN8kFsEZx2aSk 5mSWpRbp2yVwZWxo/8Ze0MJasfdIK1sDYztLFyMnh4SAicTeSROYIWwxiQv31rN1MXJxCAls YJS49PMxO0hCWMBR4tTM/WANIgIqEo96NoPFhQRyJNae28YI0sAscIRRYkHDI0aQBJuAkcS3 9zPBGngFNCTW7FoCtoFFQFXi8vtLTCC2qECExKmzb9kgagQlTs58AlbPKaAvsfXFH7A5zAJm EvM2P2SGsOUltr+dwzyBkX8WkpZZSMpmISlbwMi8ilEsNzOnODc9s8DQSK84MS8lszhbLzk/ dxMjOIg5o3YwXp9ofoiRiYNTqoFxdeLHml3Opvp1eaF1F75GdGb0zQsXZk77vqu4q4LL1/Cu kr/k1aKA+hemrL8/fZv1tjLxlsiDtO7Skrppd7YlmVYcb9v1o2uawumXU3jVw2PnOes0Gru0 uQt3Regtu/Nbv3afce58S6bDa1cXzM6p8gyr1ecVdfzI2mXL9fn2KpGPlu6xi5VYijMSDbWY i4oTAaPknxcSAgAA X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD044;1:DProCeq9UGxZZSofupJhP534UobQRJ35vNSzSBoPANAgD+Yma1EoOT8OnE3T7aHvH4SGen/FBBb4orcxUQ4+0+Vu+x270qgfPqXOs6pqGEFWelyY3k9UjK2kVvd1cYcp3onTdM45I4ebXiuysRL6abfOzHX7ufmTp2EeDNA6UbWEV6I2+Nwr3Ris8vyfirkLCNL4PsP9M3yA5iGTeu2OUw1p6aF3yiMRkL4D9fBoHWPc1fD3M+r/BjtgRADOpgIG1RSx40gY2xIdqXAgKz5y414ZJxj7JJjKZ+SQWuMFjTeJJQitd0GBZbgZ30LPPjk3jLZtrqhKTPlPkEN1e3g+qw== X-Forefront-Antispam-Report: CIP:63.163.107.172;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(438002)(377454003)(164054003)(189002)(24454002)(199003)(479174004)(65956001)(97736004)(5001830100001)(5001860100001)(4001540100001)(2950100001)(64706001)(65806001)(47776003)(64126003)(110136002)(5001960100002)(117636001)(36756003)(4001350100001)(189998001)(81156007)(68736005)(77156002)(69596002)(62966003)(106466001)(5007970100001)(77096005)(65816999)(92566002)(11100500001)(54356999)(76176999)(50986999)(83506001)(23676002)(87936001)(50466002)(86362001)(46102003)(62816006);DIR:OUT;SFP:1101;SCL:1;SRVR:BN1PR0201MB0738;H:milsmgep11.sandisk.com;FPR:;SPF:Pass;PTR:ErrorRetry;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1PR0201MB0738;2:p55z//GBtEn/96e4TW0eCe92rk8NROXaoFpDzh5XCL8W/auZY2ojGde7Zn2I+QMb82aRNOsGBbb5e6eGxSBiA0/xtJuGssyz6+YbUcWl78ktHrjmGxRgkJhYFs5bTiDAOmJxqhlsYA5i9kCizounZ084D9GF893ByYZq+jg0hEU=;3:Srnix0m0atO01S3uXdWmX0QS3B9Qz8lH70vbpGPIASpXZqDS3YCel8FukzykQJe29Ql633Xp1jj8YWX8jEPVCbQFq/4wBYWHt42h+wegjR3lX+xf5oQ2Hm2Z0KoITFltyoNCJH2MUCjG68iX0MdtEWL3trSmz9lIDZBDszbCW6PYYYUuUS5rkvkKr/HVhVBHUeFE2kE8chWsIxUGmuJM/Dtl/oN67fjkNzaQ7/UpDY8toeWSge+N4jGjbRs3wJYzMlMfx+e+ve+LBT48OleVMg==;25:qWnsCJKhH0anXtivH16fPOgFOfeOequwk3VAfrqj9w+mVYWbNb4U0ryCVtLkeQtd+vSQKY67w1MMlVMk/YXRhq6ahi32pjsdNsOe22GjN8ZsB1qZvH7Q+QFs1bJNtN5n7U8USJPlPhhg/Ka7Mk/qVVUfm9lvZ4289k7tJgwTi1oVJxXlFhKrhJilayLupDWAIpCFgYJM4vcbCxr+bEcw1+txLJK2FJyQ+cDRtbXPkeyQH6oBtXs9im0hZxOIvr9O X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501001);SRVR:BN1PR0201MB0738; X-Microsoft-Exchange-Diagnostics: 1;BN1PR0201MB0738;20:aw6aDbp+/O6F7HIh010JV+GgrNnp6lmQIdtnaNYUE+rsLqJvuKj6da7/gjh/d4bJc1NhDiHaHlmoTZtvXLtWDF6InNx5LJGoTYr7WvNOWaYCja3pT+YYX6HOc8WqpjMbBJab4w2KDWASede6AFh7K+IyBYA9UW7OCTAxObFsVPFQ07ksoIxFXUxoAdhpiq1J96ZkJjM4NqjuUuIfGP0bnm4G3IsYeQ9+OZtBmnPspYNbGJcIv6//cg4g9b1WrgE2V9y0zMaKBDpacxZomD9/m8Gq5GuaKMiUbCHv95Xc2onmN+K+PiXN15GxBVIZqn1jLt3o3lgSj3pGIM9ygGuOGCe7O43hFxIE8vMutMvboofWlE4X51Khfv38AZUT5845QV9lURTY231Hi52rAHsgLcyM50PRPeEN4p7rSO861l2aYZ5ZPexPoXmqhJ0hlfgcxkYSdzueQg4/rytJWkXr4IdpcYg2uBgg/7Kd9cOQ6Dpt2tsQJBhUAQoVBUrB6SCx;4:tP4mxZxhQNdubPrb9tc5VEjccO5AKJPY4wc0d+h5V+EJ9lpiRtl3mnBpBV7ugFdDba3C/9Bho05DOX4+ldP0OSkEYlOAQvebMUpH+l8UEnEms1K8plc6eu54EkBgJGTzcQg4ur39LRz7zJ3YuXd+tY4nXXBg8VQi8qID2Sbqq9R9VpB1dAIf73Jxq3pGBTNm8aVBXSYvV7cyzJD3TVOaBAVVwWmKXBMrKsbKWX3mHguKO+IPos+U73KiYbOF8mD2SlTUPDgxTkFpaZCKPnmI9v2C2gw/0tcbQQjNADW/22Dw/zzohqf6QhCDB0i5dozDKpefvXVGLhGg0hMtKtzY253SPcPBFJyphScgnSDdJTw= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(3002001);SRVR:BN1PR0201MB0738;BCL:0;PCL:0;RULEID:;SRVR:BN1PR0201MB0738; X-Forefront-PRVS: 070912876F X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjFQUjAyMDFNQjA3Mzg7MjM6ZFZyOUZzemMveXRxNkt6QW9XbXFBSmhR?= =?utf-8?B?b0pwdkJodWcxVzdUN0ZYUzlnZTFTczFNK29FT0NmU21nbUc2WTdyREh0VFVp?= =?utf-8?B?bDNDNENFN1BQdkREbElLYUZVM01jemNqOVhLWlE4WkNDYW1sdzRURlBOTzd6?= =?utf-8?B?QWlSQWxZK2FmQ2J5cEVITVdyMWV5U1dDNkNaK1pkcGc5eFhhVWYrTUc3d21q?= =?utf-8?B?VmRiOHU0cDVLREFvQVd1dENlMU4wR2JISlZXQlVxUFV1TGs1VXNGYmpIVEVj?= =?utf-8?B?OE5zQ2kydDhsbjBxVjc1emZSK0RaS09renZlL2xHd3ZvRm9pR3Qwa1BURTFh?= =?utf-8?B?TzNYd1llalRmOFRaSURzaTh4Y1VzMWdPVzFDNVpOZDFlN2grYzdMckV1ZXZZ?= =?utf-8?B?TnI4S1lLb2dySElQem1KaUpsRU1BTCtBZWFVWW9wUmpRT0ZRUTUxbWptMHF2?= =?utf-8?B?R2R3bktEYlhOS1lBWitQZjV5SkQ2R1h6Ni9iQUEremxweUxxRi96YlBLSnFj?= =?utf-8?B?UGw4bWxLSDE1MWZwaHJVeUFDNzFwaTUySnJqZlE4ZlFIdVhZSDYyelZrcFJI?= =?utf-8?B?TVFtZWlnTFRjRUN0TTBZSHFObmhBYzVwOW1NY2dxSWNEbFZ4ZTRJN2RQUE1P?= =?utf-8?B?QUtWTThiK2tOZkgzUFZPOUgxUFV2QWVaeVpHbWVvdFJidTZRMTRCY3JSMVJH?= =?utf-8?B?ZnZJMU5RMTZkUnFJSlZyRE1ZUnFIWVdTT2t2Vk5NZzlkeEdoZjZJeEp4bmc4?= =?utf-8?B?VzlYZ1graUdER2pZZjNUK29hMEdTKy9wRlF6QVBwZjZ3T1dIOGp6dnFvb2p0?= =?utf-8?B?TEs3VTdkMVhPMnZNcEJ2Zi9UUDE5SDZtY2VHd2tSeGFXZE16bVVNTHdIcTdD?= =?utf-8?B?MzYyaTIwU1lDQUt2RFJvejZCSmJHR0FTVGlmTExHVUxLN0srVWVnaWxFU0dJ?= =?utf-8?B?bUVka0JHNXBWKzhjOER4YjNjWFBSYUZhQXFIdWV3UVozWHRFNzNoSzVnTWJm?= =?utf-8?B?dzEwNUZ5WkI1USsvclhXRjhHdGdJQytPTS9ocFd4TkIwL1V2NkZVbUI2cGlL?= =?utf-8?B?NGN4WWpLVHhMdU5SMEd4TVZ3dHJuWENnQU9PQ2pBYTVtd1RCNXBDaEN3dmR0?= =?utf-8?B?VFJxS0Zhd3A3bElOZERRejU1STczLzFJM2pzbTVMSDh5Z0tZQmRBdDV4MlNZ?= =?utf-8?B?QkpIbWtDMmJ0MHh6N0piOFpZcVZXb2hzblBCdWp0WGl1ZzF2Q05IR1hRVHlz?= =?utf-8?B?Vyt2dGtXaVJ4MXpHdnZSUHYrcXByYjE3Um1vUWJ0TEk5c2NOOXVnV0d4aTVL?= =?utf-8?B?WDlWY1VmNEQ1RGltV2xPUU5Ja3pNRWdWRG8rV2UwdFJoYzEvdDBCZ2xoM0JV?= =?utf-8?B?L2p4SDEvVEtyREVJZmJPWlp6dENnK0kzazg0dFFrU3JXRlErN1llUXZzbFNM?= =?utf-8?B?Y0VtSUFUMGoyekdSY2VjUkdMQ3Z2bndXczZaWlRua1QyTnBXQk1BZFpaSFk2?= =?utf-8?B?bUYrV3kxU1FIZUpDY0xmdituUXdNTHlSL0J1NWdtZVZ2ZXlRVTVqb3NYZmJj?= =?utf-8?B?MHlMZ2hLc2FrRmpZbHYvSkJtOGM1SGZ5TGQyYlUzZEg3ckpka3UwSUNzK2RI?= =?utf-8?B?Q25aN08rdjJ2Y1R6cFlzL0pDTnhmV2JxNkNVQmFmZWthZ1R2NG12aFBpNlE9?= =?utf-8?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN1PR0201MB0738;5:matGtTsiAYF7t66t5Loy0BN/9ObL95fYMhLrbVZTUrkFu6t25rGpVqhu27bRmDesQAHb20eLPXtgmLIbLc3LRDzc2l8YKsW3q6bIxhMQrhnA1G+c63iGkPLdecvmk4Kvti7bnYeMKrl4uMIS0vjGHQ==;24:D4Wpt0GGzcu0tQI8Ol1ptlq7ybwxDRiqeS6XRG1hUhS0OCeED5V0EorXzFjXvjFZ7CIdidMWxi+2Vl4dx4Amo66jpLTEdACtUeWS3Ja5h30=;20:dvq82bgu65Zlfinwz728foj890MOIQm5gRDlBtFnpn9l1QAOLgx3JaDm0gLuz51Yeg6oX9jxohiWNswbZlLHt21w5sq+npj9u5zOSEJZ/xpsXZxD0EuDXM+5EUpsDhFX1WvyFh+2RqEvIhGrRx/pj4fFbOcwOnFfi6ZpJJYAj+glePOLBf7zC2r5ZTqoTWzLxfK5ojNggGUQyCTqBeRYNCoiDJwAC33jmDLmcMO2eEt4AAwEGCDLpfffhhgulQLk SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2015 16:43:49.1632 (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.172];Helo=[milsmgep11.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN1PR0201MB0738 X-Microsoft-Exchange-Diagnostics: 1;BN1PR0201MB0785;2:oVPyu28OccJ478s/qeiNp4C/KX442vMirUkLrigsdPnsTSEXPFJKuRRgYuvBeVxIQqQ5Gg0kU9BaVBk9zAoXbfUMX2mVK82WEErLOgXIZbmfjUuQuJB0ScWEGY62D06GeUboc/K2A5VZX9+DebYBHcjqbPLkfn9kh8TKLVXL07o=;23:s+h6kqwHH02W77I8fyr0dulv2kMRAgJ4I+DlK3Kw55YjjNHqkSpf9Ea3Est8feaOYIBwr0PGBP36eU6zOJ6jbZD1QNHJsrbbL0LsifVcMJ0Uv8rXAV0G/rXPdzsrbxeED8fu+rkNPuPs1oW1GSL8GHEgOzKAs8t0WJZ3D9/f31KNtrj/FZIoREyOlt2CFfT5 X-OriginatorOrg: sandisk.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/23/2015 08:23 PM, Ming Lei wrote: > IMO, mq_freeze_depth should only be accessed in slow path, and looks > the race just happens during the small window between increasing > 'mq_freeze_depth' and killing the percpu counter. Hello Ming, My concern is that *not* checking mq_freeze_depth in the hot path can cause a livelock. If there is a software layer, e.g. multipathd, that periodically submits new commands and if these commands take time to process e.g. because the transport layer is unavailable, how to guarantee that freezing ever succeeds without checking mq_freeze_depth in the hot path ? Thanks, Bart.