From patchwork Wed Oct 26 22:53:39 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: 9398587 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 5CEF960231 for ; Wed, 26 Oct 2016 22:53:49 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 23EEF29E21 for ; Wed, 26 Oct 2016 22:53:49 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1639E29E27; Wed, 26 Oct 2016 22:53:49 +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=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 3FC2629E21 for ; Wed, 26 Oct 2016 22:53:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933268AbcJZWxr (ORCPT ); Wed, 26 Oct 2016 18:53:47 -0400 Received: from mail-sn1nam01on0059.outbound.protection.outlook.com ([104.47.32.59]:16136 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932707AbcJZWxo (ORCPT ); Wed, 26 Oct 2016 18:53:44 -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=xJvcGpLPrO+g5iPYP+ACKFS/8xq3KSd8QcG4KEEMfJM=; b=d+nc12QzVk69Fa1SI41tF/sQsELFdJtw0UYbHaiLwSDnN3Vl/fpe4nsQem6J8FK2cI0pT2xxbOXckr8+WN9rQ5BOdcPYC7ukmNAWTwLRC/3wzK6Mh9m8YmCW6PjHgfE5WtRuTaT5Tx31t/4DUjV6msdr2/mVcrdRp+V7snSRrLQ= Received: from BY2PR02CA0123.namprd02.prod.outlook.com (10.163.44.177) by BY2PR02MB265.namprd02.prod.outlook.com (10.242.236.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.669.16; Wed, 26 Oct 2016 22:53:42 +0000 Received: from BN1AFFO11FD016.protection.gbl (2a01:111:f400:7c10::174) by BY2PR02CA0123.outlook.office365.com (2a01:111:e400:5261::49) 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:53:42 +0000 Authentication-Results: spf=pass (sender IP is 63.163.107.21) 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 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 BN1AFFO11FD016.mail.protection.outlook.com (10.58.52.76) 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:53:40 +0000 Received: from MILHUBIP04.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 8A.D2.26959.16131185; Wed, 26 Oct 2016 15:42:41 -0700 (PDT) Received: from milsmgip12.sandisk.com (10.177.8.100) by MILHUBIP04.sdcorp.global.sandisk.com (10.177.9.97) with Microsoft SMTP Server id 14.3.319.2; Wed, 26 Oct 2016 15:53:39 -0700 X-AuditID: 0ac94369-b97ff7000001694f-8c-581131611c6b Received: from exp-402881.sandisk.com ( [10.177.8.100]) by (Symantec Messaging Gateway) with SMTP id F9.C8.03615.3F331185; Wed, 26 Oct 2016 15:53:39 -0700 (PDT) Subject: [PATCH 06/12] blk-mq: Add a kick_requeue_list argument to blk_mq_requeue_request() 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: <3944826d-bfde-f1e6-40ec-2c9a3c259e3a@sandisk.com> Date: Wed, 26 Oct 2016 15:53:39 -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+NgFlrPIsWRmVeSWpSXmKPExsXCddJ5kW6ioWCEwakeSYv/e46xWbw8/4HV YuXqo0wWqybmWdw7+oXJYu8tbYv5y56yWzw71Mti0X19B5vF+Q+vmCyWH//HZNG28Sujxfsf 19kdeD0mNr9j99g56y67x+I9L5k8HhzazOKxeUm9x+6bDWweH5/eYvF4v+8qm8fnTXIBnFFc NimpOZllqUX6dglcGSvn/WUr2K9Z8e/2SfYGxjnKXYycHBICJhIzn/9l6WLk4hASWMoksXH3 fDYIZwejxN7H8xhhqvra/rKD2EBVjBKz91iA2MICsRLbPy8HqxERkJX4vvs1G0SNncTPM+vZ QQYxC+xhkfj3YCkLSIJNwEji2/uZYDYvUNGHC1eAijg4WARUJW58SwAJiwpESGz6OgeqRFDi 5MwnYDangL3Emq/TWUHKmQU0Jdbv0gcJMwvIS2x/O4cZZJWEQA+bxP4fO1ghblCXOLlkPtME RuFZSEbNQmifhaR9ASPzKkax3Myc4tz01AJDU73ixLyUzOJsveT83E2MkGjM3MF494n3IUYB DkYlHt6GtQIRQqyJZcWVuYcYJTiYlUR4e4CxLMSbklhZlVqUH19UmpNafIhRmoNFSZzX7d6X MCGB9MSS1OzU1ILUIpgsEwenVANjtdv2h4e62x3to4zm3ju2oSgh/OjL6A2vTTNTVB6d4l79 54L7nF8B3Gsmzo7u+HRJYtXrqnM/eIKtdfKyDynEJJ0w0M/uCt7OHPMraL/sgb+fpHnXflv2 lINZnMHXbF+boHTJwpfn5lmlCQerpx02jdzuFaM9qTNq2ZVJaYJXLWcGXprmMHO+EktxRqKh FnNRcSIAkhqiJsICAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrGLMWRmVeSWpSXmKPExsXCtZEjRfezsWCEwft5yhb/9xxjs3h5/gOr xcrVR5ksVk3Ms7h39AuTxd5b2hbzlz1lt3h2qJfFovv6DjaL8x9eMVksP/6PyaJt41dGi/c/ rrM78HpMbH7H7rFz1l12j8V7XjJ5PDi0mcVj85J6j903G9g8Pj69xeLxft9VNo/Pm+QCOKO4 bFJSczLLUov07RK4MlbO+8tWsF+z4t/tk+wNjHOUuxg5OSQETCT62v6yg9hCAosZJeY+NQOx hQViJbZ/Xs4IYosIyEp83/2aDaLGTuLnmfVA9VwczAJ7WCTWbvsKlmATMJL49n4mC4jNC1T0 4cIVoCIODhYBVYkb3xJAwqICERKbvs6BKhGUODnzCZjNKWAvsebrdFYQm1lAXeLPvEvMELa8 xPa3c5gnMPLNQtIyC0nZLCRlCxiZVzGK5WbmFOemZxYYGukVJ+alZBZn6yXn525iBMcEZ9QO xusTzQ8xMnFwSjUwzni4NTO7MfV3zNv5uTcS/8xMcPKb8vdw3LeiyV3as3afUb/c37zxytf+ AF6FFdnGFmlrNT/c/jl3hapqtFmmTWNYYuzXDvdNXP2zAvIuaKzib56ixvgr2j2dt/S7Ms+b Kr2zZnvtPm3ZwXez7BXXvT61Kc7HvpaJSm89ZL/or7LLmb+pnNcblFiKMxINtZiLihMB/Q/4 cTkCAAA= 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)(4001350100001)(6916009)(50466002)(4326007)(189998001)(2950100002)(65806001)(69596002)(65956001)(97736004)(23676002)(36756003)(54356999)(50986999)(83506001)(87936001)(47776003)(586003)(2906002)(2270400002)(76176999)(5660300001)(31686004)(230700001)(7416002)(33646002)(92566002)(8936002)(81156014)(81166006)(110136003)(11100500001)(65826007)(626004)(64126003)(19580395003)(77096005)(106466001)(305945005)(19580405001)(31696002)(229853001)(53416004)(68736007)(86362001)(356003)(7846002)(8676002); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR02MB265; H:milsmgep15.sandisk.com; FPR:; SPF:Pass; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD016; 1:3KUBnAlpScRHEdmZYujNRBBKZfDSJfvNBtRAQQ/30oXiYFU0xTmlgIlAbpMUsZGoZmRw3jyBy2Ez0OcIteETUsS0rLKomao3kVXXgDvgQrC2KKJRhiX/enk8FTPug6EYc9H+qRc5Inq7GS1VQYNVQibzs7eU+1kzj0EVdEDdfaeDDyKNrN5xjhAXMflmDtMCsrPqOEKZ/GzljjY6rPZA8bDQSV9W0agVnBX8y6F0eimyUjVtXfo+1XauBsbcaZgPLpgau4alTOBUy3TvWfBHZT3VeeaVEBhqY1vvMb8zGSHVNFIiqWUmLBcjtWLieQpG+s0BmulxfJXNwi2LW/HtYLEL56OESN3IJlIwzFEQeqABVtRgHTuIFiPRjiTrItU30Ge+nCrAQNFug7OWcHmaeIRpyBl/VeNCa4jlWKO/UDwSJ6UGrx6tNif7j6dZWbDpooSCRerE6p7vk3IFVGQuWt69zdMS6oFURejk3OV8EFQlbBjFE/sxZLKvYzrehwfeQ1XGii3ZpQV3oliHT2s+++CPhpPiwrOil3nT09Jxy5qZFDpO5u4+G6QhI6l9n416 X-MS-Office365-Filtering-Correlation-Id: 554b12ba-f9aa-4b4c-121a-08d3fdf2eedd X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB265; 2:fm/IAKHDOHh0VZoBxRCBmuZJL1+cO5n4CBOwo5P5vdhZiwuWB+QbXcbaxmVcfwhtWnnZ0mWiQDV8pFQkWxsCPBEtsYXj68a8aCGkGKzsogDP9cecMROgAdcu3MI6+pVoIgwivt401KzsOfLSW5P1LkadErrzZkHFUtM+lkx4z4QyjxUc8nZMr4Rye9EfH9tDHyJXTIXw6IooRJxRQtCvkQ==; 3:X1B8MfdH7VJEozQ0aUhQj770mDeIRgsidmhK4ekazl670H5Y6SOLS4JoZ26gKW870ozopcDkzg61H6esvsN7tp0vvwX4jXraQrN8sINSjLANICQQdcNobRYAjxG5aSdipUFL4W6OuY4o+fIxmyfbVJyRHcccd5mc50og7rYRTio/S+VYutEf/2dQ70qQkJw6XmNgFP8WfqlGFKOa4vywrawbHFrrS/Bqqop+MoUwVvGO7Ujp1FBxpIOIlqiHJp+di8kVJrhgnQxpHuN7gys723G/ICqRuncDh641Rryjpas= X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(8251501002); SRVR:BY2PR02MB265; X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB265; 25:UIRzH498zrQgYFEZgBIej7Dw+RgC9Ox+HTRtdtVsMK0WZH2Y3mdJ2HELgmuc4nFSjq950PIibkb8W9pYTNZZv/Y7q9p47S5bpWe+0jH1pub2hFi6exSzlRW3FerXUieNqeBcTtKabyBnpqkl67kkbocmkvTGllz4aihcp86UQbC7qmfLZX2iGeDkeRP8zeIXMWxLW6F6gvhQGTLvdBlZwbf2R0GnN+keTEdBUdpvmJd0FE/HvXW9p59in0aCFED+kVzpbWeMQtQ9RUFE2HpMM6SwSDbwWtBYJXgBDYGMt7So0QtbtUjgcmQXXJN+xXyVMVSlQ3D0KWYdZ389RCEujpTpj5xRGmFX5zfM/OF+/LOfoHTkF/8h4sWy/HvaxoD4UPP5XpovEp/cd5ybL56yV4Fn5MeV9efR1k8T67p3Deq9eiLxqLCJtPRq7tHFIx8upT67EoDdvdNOWn7iuTvcTPgFUkWEYI6E+nTQyS3gJn6Jwq51oHVvhIo1jDfVn6/H5F34La+Vdk/jNSwyMz94OAjDaHxAwnUigyK2zOH15gk/Sp55cTwSr81VPf9lYvOYDmqYGMEmzMQqd3xYJbzqYuhvGP82zAV4lQ1p0ccRKRcOG2PBhbp20gSZAslcAKCGnhQeyiWdloR4mV7yJAM3NgDTy+45HPHvP7IscEzxERI3tmdizal8iEAB5pJNR/9DVfJdz2TxugeL3adWrAuZ8IDFSmERz6rCz0Xzc20wz5j5XfHWUAndvYBqEXRf0tG9WaXWo4Z8L5MtgqyMOmpLD5o8bvB9ByXys6xtz3fTDXdlGbyY1gi8JTb+sgJ2dRl/ X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB265; 31:k1SOpwVX7gSKQX41V2eDeUOD1NjRZ4kksvPBNk7g2Nhd4o+lhNjMMWJYfHiTv1I1HqNe0O8StmRLEcNgnVjRy2JpJfgA0dFK3qmjCjffzgqfoFUb616g5yWoZi3mapb+cRYJWArpZKUZevO0a+3ldduDoP2b/sO5WiHqBGO+ccX3WOV4g7QHZVavvXolsJuPzZJ8DskqbfreQm/XZ9KqF70SVd1t+VNEWnNF+lA5KeSxddaAUkECPvuzaWPzjURqdPgS61njU44dl+dONH6aaQ==; 20:Kz7iHiDOzA2lzXuUjXxkOKbHidhkY5q6FDeW3c2Er8H9T5eq8kvqZtAt5blzWDju2AlKe1AToiBPf0ZlGZz0ZlScOtHz2Xng85CJ1OFEnXPz16JOyK69cmvStDCjBvdYfFWk0NA2qnd4Ls0eag+apcfzh17EZIbJFr7+rKF2T58LzJEDz0Be6aCG15D+xx9kYqfUBRJFophZ757PJw2oh3SEnWW4JYXJR202+SJmQQ9FkZkVvd3GVOVda+qvirg8xcnRzGY2cQXHEpg6ejeavP0F5qOcZGksuFOh1WjixJVUFr+1hgx35E1NvV0MZdXY0vYohluxSsZKox65d9syo8tSzQ395YtHMxxaKM5bSCLdK4jj3g+iwT2CAv2FxFwB+SQa+SEYf8n0mmDQlkc2NsGP4R6GF4Sh9A6VoLUjZ9FcjFD3Ulwq3nix9HaMMFx9qLwDcZYf6m3cpDoBOU4x2yIJ3Qbi4zFV2Qwu/TIel+15JOtmSKMpvYdN5GEOxs4N 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)(8121501046)(13016025)(5005006)(13018025)(10201501046)(3002001)(6055026); SRVR:BY2PR02MB265; BCL:0; PCL:0; RULEID:; SRVR:BY2PR02MB265; X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB265; 4:NvVlxu6b3MdLcUeUvgW59EO5FuGRT9nKCOMwDKWbiX6Xa1Q7BUI0VojIZT3B6TxnP1okh/H81jZjruQUhWlXxzG3Ftv0sR6VbQtFj+us8fumi861y0VthzodpzoRP+umSxpNggwVH8AhvEb4MfIz8AmQZI8Vcbh2qxaaOGEqLDFvhE4NAsfdHl8UxlZpKDZLFX3yqCADd4802p1HhDmd+uFRh8mRg4zULKM+MqMGtBub3s7uVlHKIxNUM7ViMV9Y9SkHCNdE+Pwh6sFNNTygrPrAd+ZyzpVdzUuX/h0SM7D+chF2JZOkLEH6NTuMW+Epl4QyySZlEQqjw623EAIVa9XUZTFrLL0xTU2pIqxOsLeWqezBe7oTdiUn4fMqN3tx7ZhXjGdzMNWGRfBUXISaSQizMRTAC9MPvZmo4c3blPvaqOdfRp/UsUYtJumsIAnqjm+DV0udDZeCLjJQwS4yiDCBCGVWYPsNrJ2jBtrqvC0ukk5DNWdJUf3oLiIR1TKE X-Forefront-PRVS: 0107098B6C X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjAyTUIyNjU7MjM6L3lwQ3ZzTS9LQkFkSEpLMUJST3JPZ0Y4RDBr?= =?utf-8?B?OWxCdEVXeFNpU1VtTlJtV3V4eDRZK3JqN1VVWEY2RVpHMW0wUFBBTHZoWFBH?= =?utf-8?B?ZEJkTFUyUG9vR2wxaWJOdnpjU3JETnlRc0R0WitDeFFNRlgzMHFFdU5sNHlr?= =?utf-8?B?eXl1NjA4QjdoQlI4ZUtGRDdHcHJHSnhFNndnWStqRTNjTW10NUlZM0R1Ky9K?= =?utf-8?B?ODhaWWxVbkVhN1JPVWU2TjRjK0k0T1J0VHhldjVpaWdNY1lQck5CTmVIb2NR?= =?utf-8?B?VGF3NGFqdzhhRFRhaUxsTkswUzFyNzJwZDJ4MHZmSHF4MUJZMjNhV1hyWEh5?= =?utf-8?B?QmJZaElGWFM2cVI3NTVhRmhkelB4VUkrQndzNkxYVUx4RVUzcEd0MWN1R09t?= =?utf-8?B?TWZrcTA3bHF4S21aQTRlQVk4MndlQmZQV3AwNUpjYjFmWW1nVVBuYmtsNkg4?= =?utf-8?B?cWVuSXNMalpaMnR5WW5QK3MyQ0xqR0w4Yzhpa1JINXdiMDhWNnBzLzdmTUd4?= =?utf-8?B?eWhUS2U0eUtxaVVRbFBuZDU3eW1RdjU3SWpBcWxRQlR1enNKREVIb2ErenRr?= =?utf-8?B?Z0k5bTRPTWtUTDBYRW1PM0RwbDZoMWk3RHpUWUlaZ3YzVjVjYjM2VU9ma0cz?= =?utf-8?B?Z3lxQXpGYzNLcjZ0N3NiRXpZM0d1SjRHc0RGb2tvamxhc291MzZaVy9jbThT?= =?utf-8?B?RStMQVAzOEVYZCtwOGVzNllPYjhJMStISkhLYjRjSnhVQW9UUGFpWGJTUHZC?= =?utf-8?B?cUlZUjBvMnhORGp0UmVQd1BKWkMrNmhDZDJhV0dlbUlCZk10QUREVUx2eDV6?= =?utf-8?B?NUovWEFBQlQwTWtTblhjdllITnRNTGRrc0tSakhDL0FIaTBxdG1nNlpIR2I3?= =?utf-8?B?dzcyU25hbGg2bjdXczY1bnJISVNGZS8rbURFMjNiY1FQSDFHOUswYmU4WlBO?= =?utf-8?B?eHA5a2FpQUJELzBNQ3ZKMXJzTkNRK3FxQkpUUk55QzNSbnF6ZWlCTlZHSVZs?= =?utf-8?B?UXBPQTY4K0U0KytYVm92SmVrTnV1TEpKRklxODZ2MERJOUpFejNTOGxtK2tL?= =?utf-8?B?OEdQcHVIVE1HemZJVi9JRE9sUm5wU2Z0alpVSDFtUjdscm5VT0NHdWplcW9X?= =?utf-8?B?bEI1ZXViRTRvMlVNRnFlSFc4WkxDRFg4K3lWTXZjVk0xbzRvek5haTJCNWJo?= =?utf-8?B?VzZWaml1amxKTDZMN3hkdjhYTXdwRHltTm5jS1NtcEtZL003TUlqVk8zRmpX?= =?utf-8?B?RkdpQlRnNGNoSzlReE9lSVBJT0FGQVViMDhQaWVzMkVXTUVaWG9IRThSQUpK?= =?utf-8?B?bnBHdm9OZ2lSTWFPMGJiUVkxNmc4RGNwdmFOeUV0bU5KOC9VVTJ2amtoU0xM?= =?utf-8?B?ZDVpOEZkdFVNaGw1S3RHQlUyTFQzdnlNODBDNWNYYzVWblh0dmxOVExsa3NP?= =?utf-8?B?Q21FRlBlblRlZi9JTEhIOVZzQjB3MXkvZGlGeWxhMHllRm9Kb1pWS2dxZ3J3?= =?utf-8?B?ZUl1WmxMQkdBUFFuQW52dVN2cVdybEZUR1UxaWh5cEFFdEVLVnB5NVo0OWtB?= =?utf-8?B?WEM2OXJlWUdYNXdUcUJmWC9yeml4TmNHMFRSQzdTMjU0VkpaZ1NPMHlraDhi?= =?utf-8?B?anZwdUgvR2VJcjFadWZVeE1uQy9OMFRaejZkYjJhMzZtbE41NlA0am9EZWRW?= =?utf-8?B?UHdKcmoxek8yTTdNTXRiNTlBelltY2dYenZkSjQyT1p1Tnh1RnQ3Z2dCZ3Jz?= =?utf-8?B?OFo4R0g5T3JMVmpjTXlRPT0=?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB265; 6:c9F0jwJNIazx8rWySyQLI3UCV0xgBraYNJTlW2oUUhOqZ5h5+D3nIEXT40esJKSHS159mwYgJsD/4uKc1RL17xPycume66nNxIV17uVaMq54ihJcnEt9y7uV+VZGFXsminLfcbWUSWbJ2qWCr00gY5UjRX3JDXP9FR9/Hus51irgGfExLNHj4BKlTPLbCkXZarqBnmuzbakziItWRFw78muw2Myh3bieOCQphUcrATdKYhK0AplTEK9K8Bk+acwzSRIrUSGR6Q1khvyu+4oBBfrk57cZVUXT79gVG9rPqhtfSO8gbnc0nk0PDfu465OfrObMb4KIUzKF8z1TUop6ysXBL9l14j0DBm9T709JWik=; 5:uylbnpzwgFpmmiUdVk46rCM+ZWlxUVxIQ2rLHcElcPehuvjFIL8BFHfYOmsU47eUqGY/QIKu2lZmEgUeKVoiRBxzD97naxxOhpilP/FWMM7wZRuIgMJFU+1uNpUXNUpN3ZiOZlquPtVOs7fChQUyEg==; 24:Nq0Imd0B3seNjOACAUvEBK0m1iWidCu3T2YfVsxNLaYOOTqOsZZMFhJEXf0qmLoD7pqtzw6eDUJbK9WJT/PQmwmI8JsKRjxzLiV4Dt9pwxw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB265; 7:QsCaIVEEttNvtkJu21jsTDQmCzwn9E5gDATArJ5OZxTsKsyavYNjhVY8zoHWsybbfaHZHWErbpeYrMaNNNXLIYd3M57JRh/SPFx1itXrTy/f2QZAecShO9R6LO/oVtT926Ytx4yGjQXbWgHMrhE9qhv6SUVo5LVCjaIJXQOZKRY7XFz5VH5lkAjjtgyzhDLYuVWP2k72dpK8SLMtC23Ut/w8HqwV2kBeHBnmVty+g56vwiuTXNpJieEYoc6OXyYmbOwHJSHxXm74W+JY8irODM4nOC2wXbaAscHW4WeksRo1UJYz5S6vECG/z1yrNlf0b58yVq39b+F04Q6Zfd5pnW44xpD2opNb3/rjKGnuvSk=; 20:OKMEn+TwpJncR1phVUgob857rp9+pVfjHkLbofAoI1SSnS/iMcE3yyfCVHEHvCbKE84D24Hsf0xdZ/7E213yahKVXQViyBjsIxnSMPK05yypmoP0T1xQhPD+uh8L3cyRaEigKt1icpoEYzve0sLOdXEjIDW9dEuW1QufaBH9rhSWKny6Bi05Mw3q+SKsRFJEYwQ/Iwpsm0WqJWltAwhGskvupJp8qbyDRIfMxWtB/2uAoNdY6NiqFys742cgFe7u X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Oct 2016 22:53:40.9518 (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: BY2PR02MB265 Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Most blk_mq_requeue_request() and blk_mq_add_to_requeue_list() calls are followed by kicking the requeue list. Hence add an argument to these two functions that allows to kick the requeue list. This was proposed by Christoph Hellwig. Signed-off-by: Bart Van Assche Cc: Christoph Hellwig Cc: Hannes Reinecke Cc: Sagi Grimberg Cc: Johannes Thumshirn Reviewed-by: Johannes Thumshirn Reviewed-by: Christoph Hellwig --- block/blk-flush.c | 5 +---- block/blk-mq.c | 10 +++++++--- drivers/block/xen-blkfront.c | 2 +- drivers/md/dm-rq.c | 2 +- drivers/nvme/host/core.c | 2 +- drivers/scsi/scsi_lib.c | 4 +--- include/linux/blk-mq.h | 5 +++-- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/block/blk-flush.c b/block/blk-flush.c index 6a14b68..a834aed 100644 --- a/block/blk-flush.c +++ b/block/blk-flush.c @@ -134,10 +134,7 @@ static void blk_flush_restore_request(struct request *rq) static bool blk_flush_queue_rq(struct request *rq, bool add_front) { if (rq->q->mq_ops) { - struct request_queue *q = rq->q; - - blk_mq_add_to_requeue_list(rq, add_front); - blk_mq_kick_requeue_list(q); + blk_mq_add_to_requeue_list(rq, add_front, true); return false; } else { if (add_front) diff --git a/block/blk-mq.c b/block/blk-mq.c index 4945437..688bcc3 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -492,12 +492,12 @@ static void __blk_mq_requeue_request(struct request *rq) } } -void blk_mq_requeue_request(struct request *rq) +void blk_mq_requeue_request(struct request *rq, bool kick_requeue_list) { __blk_mq_requeue_request(rq); BUG_ON(blk_queued_rq(rq)); - blk_mq_add_to_requeue_list(rq, true); + blk_mq_add_to_requeue_list(rq, true, kick_requeue_list); } EXPORT_SYMBOL(blk_mq_requeue_request); @@ -535,7 +535,8 @@ static void blk_mq_requeue_work(struct work_struct *work) blk_mq_start_hw_queues(q); } -void blk_mq_add_to_requeue_list(struct request *rq, bool at_head) +void blk_mq_add_to_requeue_list(struct request *rq, bool at_head, + bool kick_requeue_list) { struct request_queue *q = rq->q; unsigned long flags; @@ -554,6 +555,9 @@ void blk_mq_add_to_requeue_list(struct request *rq, bool at_head) list_add_tail(&rq->queuelist, &q->requeue_list); } spin_unlock_irqrestore(&q->requeue_lock, flags); + + if (kick_requeue_list) + blk_mq_kick_requeue_list(q); } EXPORT_SYMBOL(blk_mq_add_to_requeue_list); diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c index 9908597..1ca702d 100644 --- a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c @@ -2043,7 +2043,7 @@ static int blkif_recover(struct blkfront_info *info) /* Requeue pending requests (flush or discard) */ list_del_init(&req->queuelist); BUG_ON(req->nr_phys_segments > segs); - blk_mq_requeue_request(req); + blk_mq_requeue_request(req, false); } blk_mq_kick_requeue_list(info->rq); diff --git a/drivers/md/dm-rq.c b/drivers/md/dm-rq.c index dc75bea..fbd37b4 100644 --- a/drivers/md/dm-rq.c +++ b/drivers/md/dm-rq.c @@ -354,7 +354,7 @@ EXPORT_SYMBOL(dm_mq_kick_requeue_list); static void dm_mq_delay_requeue_request(struct request *rq, unsigned long msecs) { - blk_mq_requeue_request(rq); + blk_mq_requeue_request(rq, false); __dm_mq_kick_requeue_list(rq->q, msecs); } diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c index 79e679d..7bb73ba 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -203,7 +203,7 @@ void nvme_requeue_req(struct request *req) { unsigned long flags; - blk_mq_requeue_request(req); + blk_mq_requeue_request(req, false); spin_lock_irqsave(req->q->queue_lock, flags); if (!blk_queue_stopped(req->q)) blk_mq_kick_requeue_list(req->q); diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index 2cca9cf..ab5b06f 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -86,10 +86,8 @@ scsi_set_blocked(struct scsi_cmnd *cmd, int reason) static void scsi_mq_requeue_cmd(struct scsi_cmnd *cmd) { struct scsi_device *sdev = cmd->device; - struct request_queue *q = cmd->request->q; - blk_mq_requeue_request(cmd->request); - blk_mq_kick_requeue_list(q); + blk_mq_requeue_request(cmd->request, true); put_device(&sdev->sdev_gendev); } diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h index 61be48b..76f6319 100644 --- a/include/linux/blk-mq.h +++ b/include/linux/blk-mq.h @@ -218,8 +218,9 @@ void blk_mq_start_request(struct request *rq); void blk_mq_end_request(struct request *rq, int error); void __blk_mq_end_request(struct request *rq, int error); -void blk_mq_requeue_request(struct request *rq); -void blk_mq_add_to_requeue_list(struct request *rq, bool at_head); +void blk_mq_requeue_request(struct request *rq, bool kick_requeue_list); +void blk_mq_add_to_requeue_list(struct request *rq, bool at_head, + bool kick_requeue_list); void blk_mq_cancel_requeue_work(struct request_queue *q); void blk_mq_kick_requeue_list(struct request_queue *q); void blk_mq_delay_kick_requeue_list(struct request_queue *q, unsigned long msecs);