From patchwork Sat Oct 29 00:21:41 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: 9402919 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 651476022E for ; Sat, 29 Oct 2016 00:21:50 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 511F728AC2 for ; Sat, 29 Oct 2016 00:21:50 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 41B682A873; Sat, 29 Oct 2016 00:21:50 +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=-5.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI, T_DKIM_INVALID, URIBL_BLACK 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 6CF5228AC2 for ; Sat, 29 Oct 2016 00:21:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S938771AbcJ2AVs (ORCPT ); Fri, 28 Oct 2016 20:21:48 -0400 Received: from mail-by2nam03on0087.outbound.protection.outlook.com ([104.47.42.87]:60170 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S935767AbcJ2AVq (ORCPT ); Fri, 28 Oct 2016 20:21:46 -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=Ht7OXgqMycKtFJlDtMxpSZVBWXwVqy1Mz2zMzMXGKug=; b=I/rKtuwYEfofB4z0k61Gmfq7F0hOyF3PNo3vAT++FKilSUvI3vIIJRljfgbzTKridqWx/mTGhNXtyHMRs8GWouRijCqodBs/3nJ8pnCGFSRYYv/qPYnPipipwlbiO412zPgBrUS2OD56TEmj01sEOgDD0jZ2Zgrh9oXd6jGS3M8= Received: from BY2PR02CA0090.namprd02.prod.outlook.com (10.242.32.48) by BL2PR02MB260.namprd02.prod.outlook.com (10.141.89.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.679.12; Sat, 29 Oct 2016 00:21:43 +0000 Received: from BY2FFO11FD049.protection.gbl (2a01:111:f400:7c0c::106) by BY2PR02CA0090.outlook.office365.com (2a01:111:e400:2c2a::48) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.669.16 via Frontend Transport; Sat, 29 Oct 2016 00:21:42 +0000 Authentication-Results: spf=pass (sender IP is 63.163.107.21) smtp.mailfrom=sandisk.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; 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 BY2FFO11FD049.mail.protection.outlook.com (10.1.15.186) 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; Sat, 29 Oct 2016 00:21:42 +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 CF.2F.26959.FF8E3185; Fri, 28 Oct 2016 17:10:39 -0700 (PDT) Received: from milsmgip11.sandisk.com (10.177.8.100) by MILHUBIP03.sdcorp.global.sandisk.com (10.177.9.96) with Microsoft SMTP Server id 14.3.319.2; Fri, 28 Oct 2016 17:21:41 -0700 X-AuditID: 0ac94369-babff7000001694f-31-5813e8ff1181 Received: from exp-402881.sandisk.com ( [10.177.8.100]) by (Symantec Messaging Gateway) with SMTP id 15.FF.02564.59BE3185; Fri, 28 Oct 2016 17:21:41 -0700 (PDT) Subject: [PATCH v5 08/14] blk-mq: Add a kick_requeue_list argument to blk_mq_requeue_request() To: Jens Axboe References: <7460e8b2-2cfd-c0d5-7ae7-7f662d89dad3@sandisk.com> CC: Christoph Hellwig , James Bottomley , "Martin K. Petersen" , Mike Snitzer , Doug Ledford , Keith Busch , Ming Lei , "Konrad Rzeszutek Wilk" , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , 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: <01d525ec-5b5b-b22d-4b17-36d7406920ed@sandisk.com> Date: Fri, 28 Oct 2016 17:21:41 -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: <7460e8b2-2cfd-c0d5-7ae7-7f662d89dad3@sandisk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrHIsWRmVeSWpSXmKPExsXCddJ5ke7/F8IRBp8vSln833OMzeLl+Q+s FitXH2WyWDUxz+Le0S9MFssWP2W02HtL22L+sqfsFs8O9bJYdF/fwWZx/sMrJovlx/8xWcw4 v5jVom3jV0aL9z+uszvwe7yePIHRY2LzO3aPnbPusnss3vOSyePBoc0sHpuX1HvsvtnA5vHx 6S0Wj/f7rrJ5fN4kF8AVxWWTkpqTWZZapG+XwJVx7o9NwT/NimdnFzA1MN5U7mLk5JAQMJGY dLSFrYuRi0NIYCmTxKW/z1ghnB2MEmvf7maEqfpz5DtUYimjxL6WQ2AJYYEEid3r17GD2CIC shLfd78GGsUBVGQnsfxkJEg9s8ByVolXV1aygNSwCRhJfHs/E8zmBapZ2D+PGcRmEVCVaLj7 BiwuKhAhsenrHKgaQYmTM5+A2ZwC9hIrlyxmBpnPLKApsX6XPkiYWUBeYvvbOcwguyQEFrBJ /L68EaxeSEBd4uSS+UwTGIVnIRk1C6F9FpL2BYzMqxjFcjNzinPTUwsMTfWKE/NSMouz9ZLz czcxQmI1cwfj3SfehxgFOBiVeHg7w4UjhFgTy4orcw8xSnAwK4nwJrwCCvGmJFZWpRblxxeV 5qQWH2KU5mBREud1u/clTEggPbEkNTs1tSC1CCbLxMEp1cCosFWofeHmxmc2i1TzL004p87n 0CF/6N/DxYdTo8obL6+PnDFnxa7iq78q99mmO85vf3D2WNOsuw9nLdKPW/L7ye6inSc+dvuz JDo7aZnYpQVyxOs1+k2vWJLorW7hfXTamse3Hz+bdk1u8r83+1Tki5tux1pNPHblD3vG3DbN dWWHCxZMnhG5RImlOCPRUIu5qDgRAFsa1SrRAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrKLMWRmVeSWpSXmKPExsXCtZEjRXfqa+EIg56dyhb/9xxjs3h5/gOr xcrVR5ksVk3Ms7h39AuTxbLFTxkt9t7Stpi/7Cm7xbNDvSwW3dd3sFmc//CKyWL58X9MFjPO L2a1aNv4ldHi/Y/r7A78Hq8nT2D0mNj8jt1j56y77B6L97xk8nhwaDOLx+Yl9R67bzaweXx8 eovF4/2+q2wenzfJBXBFcdmkpOZklqUW6dslcGWc+2NT8E+z4tnZBUwNjDeVuxg5OSQETCT+ HPnO2sXIxSEksJhR4sfcU8wgCWGBBInd69exg9giArIS33e/Zuti5AAqspNYfjISpJ5ZYDWr xNXpl5hAatgEjCS+vZ/JAmLzAtUs7J8HNodFQFWi4e4bsLioQITEpq9zoGoEJU7OfAJmcwrY S6xcshisnllAXeLPvEtQtrzE9rdzmCcw8s1C0jILSdksJGULGJlXMYrlZuYU56ZnFhga6hUn 5qVkFmfrJefnbmIERwxn5A7GpxPNDzEycXBKNTB6dXcZ7vLJLJ/j3uB9eUVG9xnJGVLixno2 cpnu3ya/UAspm2ls451RWM5ra9G57fAv5az3wj+udJ9rP+oYNlXXSCzC62GzeLpY1s8Z7cZ9 fdPULrB6SpicNXExuv78+PRH0yb+WferZ8G2ipViS3tEa5nLbPXTGhl7mL62PWhIbbufKHNq ihJLcUaioRZzUXEiANKfpLJIAgAA 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)(64126003)(23676002)(87936001)(33646002)(65826007)(2950100002)(50466002)(92566002)(68736007)(229853001)(36756003)(106466001)(8936002)(97736004)(53416004)(110136003)(83506001)(4001350100001)(5660300001)(50986999)(356003)(81166006)(8676002)(81156014)(626004)(7846002)(305945005)(8666005)(54356999)(586003)(76176999)(7416002)(31686004)(189998001)(230700001)(19580405001)(19580395003)(65956001)(77096005)(2270400002)(6916009)(65806001)(47776003)(4326007)(69596002)(11100500001)(86362001)(575784001)(31696002)(2906002)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:BL2PR02MB260; H:milsmgep15.sandisk.com; FPR:; SPF:Pass; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD049; 1:mkRTDFTDqnTnJL4ssJTQ+I3CMJ1fOz8Oq9rTJz6EApovbR/FehgdQ2L+p3cq1IcWmGHOhupmVadWxFAWTw6PjJ5LIw1di99YInYPNi90dct/jJsEPC5GkC9TcXreVA9n6x2u98T7Fhy0VtFHLLvNl0NRiaJ9ibYg5lGWigYHpvX2F6TLzCCySoqn5dBx+c9tGuwah3lhtjDENzVmB60glzEbE45ELbtbnoT+wiSe9dpJ9Qc5BrEcqZSJsi8sM40ozJ4+iOsLQLBNmPngmTUs2dj9g4Z1RLep7TnFkuLOehdijYwmYWyWDULlx29OlEnMeIfFBAqMsKdT4FK8nnlS++uV16yTmn/lNDXzMyXSvniPFv77FJFKM6lullo7EUjchCZgPWWCZLrbSi4woqMSKSQ5oUV2Q3msr28Zh/sZwIBp3VHptRM9L4DlzKMi9w3OQob8pc5Q2xvlaNXoX+Rl+1ARJciKFs8kSVmmvOFds1og1fpMdERSXvO0YcQvRSafnH0sO4/6nebe16KiYFODXZ3v/rS2hi1ccDU/utEG1EoOPSKzMwmQ7V6yQZFuIaOU X-MS-Office365-Filtering-Correlation-Id: e49a9096-2457-420b-6ee8-08d3ff918f60 X-Microsoft-Exchange-Diagnostics: 1; BL2PR02MB260; 2:JdIEYc9iBTVbwjpnoEh1xW1E/UiNlixyEruUjdfy3gqismDJHXP5fBPR8NlJxRXjsd4u4vcFipDmQ1T/8UEOhcpghH4hsUY4Uh0aVnUjMjfbv/SkPG068R4mHK+LU2DIxzixjGd941hrxwzLidxk2iv/VgLGR+WavRqE8RygtD9Wz0D3Gf9WT8lEKfg6nXaZ536/+M/sqntPfi3FI5Yx+g==; 3:TItWjdGCzmmLpzkAT/qI5bsRRNcZtNRVmupWBdYGAF4QZEpB9MszQyTKGP4RyEaJp3MAYwELWeMvlLhEQdlPtkGIb3gurWpWOxtwhl1Xfqtf2JArqhd838gWq/Wv48CVpouT8V48Ozb8nJaSmFA27JY6m8TbGAU8O3vIQBhQ8vjq/w2XZ6Ct8I9J15bGT1tIArHutPNepNtjs0Z9tEFisUCy4gpuTLACkT/E7ZyzYDUAZhtmJZfibC8meeybtiq/GdjFSI1elqh+gmzrGS2W2lhZzf4up3+2E+EAwfarXQs= X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(8251501002); SRVR:BL2PR02MB260; X-Microsoft-Exchange-Diagnostics: 1; BL2PR02MB260; 25:8Poq9uQME4gCxdNJkvy0ph/DrhzGI313xUPcsL94iJtTBwfoBa+kvjIQR0zQwN3VsDIXlK+fYo/TD5d09ePQDk4uNa3n9wwT3A+7Z2bgAl0WPimGqbreFmqi77Y5BNNN+iIzR3Il2rx2bjccq8yX1s+LC+/l1hKJMjafvyAxufQ0bDs2Deq9o2jxHPvL0GT+af/fsjguqXegT8SYvMBaGv9ZNyfZB04BuHrL1A2oSBmXMosqkReFc9dNaKvM7kiZooEeaWdkBuJU22PoDK43qvX+ASVHEGpE0/cq34PO9+P51YUayGr1LZVdvj1aiAnmMUx13R5Z2RMlzXcv6OZ1mgkEyjyPn6k6GaAnLaoXzQUUPTmLacrvs2WK2Pl5E01DK2eTcQ3FOUyn+Mj4QkOlDNVDc8dmeo4A84Wxu6XJvC/xRBoQx6m1IiGkiN43D/KsQhbnKMeGa7XUF9GcVVrdwamDPdG5OJN7tiHX3V+5KEwq2uqdV1dVkgLPtVM2PMdhQvBpBp/Hi1GYmxD2tuGDieatnfkPz74c/Ds8c15+5eEqliOFBOV+k4ZThTYx6s2KyVHmplcludj8SrjJY2Qlpj8dz2uoZoUoVYRu70IHbogys+BBILoScJAUTE+OJ91DlmUQ7bkuPBtr2i8qxqb4CFdVgx2c/akeD1a/PnzXZoL2K0pYSHs3CqdfA/RYhzjOci5u/23bY3PE216ipusH1pNR/zfgC8ZJRv4STQylkev+E18Zm2meZTaeL+Qoov8gMMjlwlccHocaT7GQzsuXUwq+4AVtwuL13zuQR4cdCK6u7Mlu0x2vypuSGFojygB6 X-Microsoft-Exchange-Diagnostics: 1; BL2PR02MB260; 31:LFP0Qwwf4+wrlFRKPduMZJn3e5KoyOuX8cPMXVRG9PhG6J2F3lx/2PpMcpoIGAzWoWHs2sojqf19uxGHg2OeZ6HrxH40JA0fb4vknThKscdxsEPGF2Dv1Hbo8MUaxIWOptfRIRuVwt3+5Wh9ksoqwM14sbPNrNiQTTKl5R3mXGAXVSHoSaZu702+DeX6Cl/tRFw7+FQRX0smvprWPggcwooxUlFH5Ue4tal/bmB40jJ6TKAjjSoijP6vwD6aoFBLqPZPts5DPFE/pAvr5Mnydw==; 20:g4yAFP7S8TcDdxcPh4SK/cfgQhIwic2CwWxX6YeoNnDae37NjzvdYQiKPofkIxrKge9uVuwGtFWgtAWn1J8woqarxo5Lac/SNHuRhic5Rt9ghD/q1iE51yQSA2sFQfKfPw+/0RIqN6fIMuC6eWyHP6XPH23or/7W8pB50CFrSNmkWwQajaJ5GwHQUlE1eaVBhdhD0CU89fILfNrkcY0QBoaMsIxX0baZSA/7nxT6/L6kulS6PlKvajP1wmjDThZ4buO3cBFeIxFCiymsIfEjOO6tg+4PWxPLC0nIP3QTV7ru5sgPO56m5tCJdNisSjDGlnHsg0dhxCXLOElVzceg89Iib8yror4EBXPbfen4cNKLgLCSxUE3pI5KK17zYpYPaOlJhNZ986JCYemkf8rq+Yo1t28hFpwZeDW44eO+FNgsYL6d/M1lLkhkMw7+c7lR3Bl4pSLnmnwJeuR7BtnvlpKqTnCpFhV8i2yWlBCcb+0EHALZEeR8raEt/jMtQoy9 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)(13016025)(8121501046)(5005006)(10201501046)(3002001)(6055026); SRVR:BL2PR02MB260; BCL:0; PCL:0; RULEID:; SRVR:BL2PR02MB260; X-Microsoft-Exchange-Diagnostics: 1; BL2PR02MB260; 4:Pr2YvdATfKNTQXayWsgx8wJplSB8F8P+a9MS4+AJ0C4jskr6wovNO8g2wTgX7k/Iq1B99H5towbcPk6L8Qn0JLznng/dI4ipsylM79NorqAbU/NUauvhEoqpi0BHJ6bst71IYHYJGMANpbMpRnMLON4Vt3dOm45n4eB7yKvw1mPMqibyKlnXdXHFOXHf8OQ/h9CfqWNFK1oMUMpv1vDARq2hyETR8WzO8tRMitmEtElUMr5Wxl5W750um3+Q/QFb6/Xaekfz5vA/A1DHD4UrQfgXnmtugZbMFQ1t9TaF63N9KW3ItSPlYFQ2szRdZKuxU+XDBK7CM0OBdPvdr46HMZwcPmTzGxCgcLQeGiD6IGuxUa1VhU+vI/sQSz53z4hLqWadGTFLGnOzX2rRxX6+AePXP/SfnQd3RHpgrPShdpVOuQBkxeKuJl8rpQ4FmoBL4T+j8ES/5clP9bPyMNUwxypojjopYpDIA0nxpwOgZzoyBgop9yYXypOGrZM9iKXX X-Forefront-PRVS: 01106E96F6 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTDJQUjAyTUIyNjA7MjM6TkpWemU2N0N3SGJ1cGFvTG1LM1p3V1BhcHpZ?= =?utf-8?B?Slk4K0s2NGNVSVorOVNOWGhtQm92VUpBQXA5WmIrSTkrMExPdzJXOFExWWxQ?= =?utf-8?B?ZmcvNFM3RHltUGQvRFVtYUVnNjRmUGFNWlJTcDZFbG5JOUxRQkhYdmk5SWJo?= =?utf-8?B?V2FhL3Bxa0FnMW9kd3ZWK3F6MTF0YU45RXR4dzdBMmZKQmFRVGxRUVI3bXpP?= =?utf-8?B?TytVRDcyR2hTeUtZbG52cS8wdDFucEZPRENwY2tJMjZqZ1ZwVEVoK1BRakZa?= =?utf-8?B?UlhCdXpZNE9ubnVHK2xEMk5ncHBHNWVJVVNVUElncDJaUkVWR1VwWDJvMHlK?= =?utf-8?B?Y2FBcUNjMkd1ZERSb0RWN0RKQ0ljZFQyVkgxOTZYUW5PcERyR2NHdkxhRlBr?= =?utf-8?B?T2ZrN0x3VXV5c29aQ1RQWVkrR1FQTDJPMEtOakhSK0VGWC8xa2tkTjdHN2xZ?= =?utf-8?B?SngzUDlpM2cvdVByTGVmMW8yL1RUQithWWtPY1hEWkhjY09wYktPMUt2WHZy?= =?utf-8?B?RHVuMkF3Q1Y5dWZQSXZHd3dsNDI4NW13TWNGMmdTZG1pQWRpUExIS0FkZ01z?= =?utf-8?B?YWRrY0hEWVdKcFdZdXo1YmxMbmdjOFIyL0Y3dE9hV1VRUjZEUzVPaTFaWG11?= =?utf-8?B?d2c1NmRseUxmdDRsUXl4cUgzdkp1VU1CQzRDdnR6S0pickhpbHdVckpEVDA2?= =?utf-8?B?S1Bmb3hPbXoremtTdThyZFVOK0ZQSTZ6ell6d25sU29wc21lNmphWTZSampY?= =?utf-8?B?Vkx3U2drV0UrbkVhNG1WSndiQU9jRVBYK1JJeXBoNCtBN1lxLzBQL1NUL3VD?= =?utf-8?B?ZjNPSVp4anNzRHNIb0dqNUY0VXMyVkFUZU1FVUpEdUEyUFF5SnhucUx0SjQ0?= =?utf-8?B?RHNWZmMrNXNMM0MwNlNWWmFFWU9vYkdyWVJuWnk2dVpLL1RLYTFCNzIwTy9h?= =?utf-8?B?SFFwQ08weW9ISlFuQlE4VDBqSlJoQi9YcG0zd3R3MWtzUEwrdjZWSmw3V3lT?= =?utf-8?B?UWlnWmNQbHZudkxKRWw3RUpFK2RiWG5iSzhOOGEyYU5GRG0xc2U5a2F5anRh?= =?utf-8?B?STZMaXJ0UHZqWU4rRGlLNXJyTkV3dnRHa2dUcTNNTk9WL2tLNGZHelQ4NG9F?= =?utf-8?B?ZTR0RkUrK1NyeVE0TUE4ODlSVW5JOUkwTDFwLzJPT0ZiY1d5d1l6NHljM1BH?= =?utf-8?B?aWtoTFFHQkZFa0hoaFV0dnZCVllrREpvWTZFWnVFQkJZV21OYnpIak1LSCt4?= =?utf-8?B?NFN1elRiYUIxUUZtdFVRL3dxOUl1Sjc2V29SUnpsbmVZY2gyVW4rVXgyQ1FU?= =?utf-8?B?Nm9va0k1Q3FMZ3RuRDZFMGtzZDJPNHNYeXJtQjJGb2pJZ3JFMG9qcHNaOEZt?= =?utf-8?B?Q2drbWFtU2w0ZVkrdFV4dytSdHdrcENtOU5FaHdZSy8zQUVSZ2ljaG9rVVZW?= =?utf-8?B?R3NkcW90d0VPWHBmT05hakpKQzk3TEJiRE05NnErYWdJUTBacFVGbU5NQ0I5?= =?utf-8?B?MmZyTVFiKzl0SmFMbE9lYzF6SnhPQkN5SEJlajFaVmUraHJyNnJHSWFBRlBo?= =?utf-8?B?RWhGK0phdHAxaEltZ283VXJ4bHh0d0pnVzZod0pOU2VMMkRFR1htMkRIakhh?= =?utf-8?B?aFJleGVGVkFnV21kUzBldEJ5bldWeHBlYU1mTUUyRVRCM0Q4bDR4akJMS3VR?= =?utf-8?B?VktlK09GZWxpbE11VFFMaVNpa0FTWUxYYVhMT2l1aU9ib2ZhM3lJb29HNGwx?= =?utf-8?B?Q1J3V0E5S2g2NlJPZDNCTWQzREZMNDl6Ny9TT0ptYzNVeFNlOWxtT3BZWkc1?= =?utf-8?B?bnl6TGNDaUo2MmRmbTFoUDl6N0V0ZW8vQlVZTDVNM0NFQT09?= X-Microsoft-Exchange-Diagnostics: 1; BL2PR02MB260; 6:rTG7feFhI3uFiHpglrYkUEs8z8Y54N6qTFw9InhZp4rMZ750MxdxxgQSQ6URxTFjLTXJmxjsDkzvW85HcLbb5NWQvwAZO1fIA+Suhbuu728J7Sm/afRmA1Ok7woQdriRtJIqvIqtlXFiW4orkjIRge+45OTORqRvg5Vi5xxNB+YqbIR5cxEV7LlC7RZZW7AG8DbZNnavdUBRTCn9Crzt7F6a6eaZdF6dArJTKz9WNOchJTNmf99KliSS+bqOSMeMFtutbn9U8wm3+iBM4ue4t04c1Lspcq7We01Fxb5aMpaUd8aXkL748a/30duButfXS5pqrcPHsFBYyEDbCNZV5w==; 5:QNqVzFdnj/M3ZqEzCMbcftsKTXE0+8B37CQOQKvpkQLc1uy/N7t4zlfwlxSyoVDoec4ete2i5gHqxv5cS1dlXoygfP4AI2UxhOD8nZQ/qqeY3hUtiJnmYByYoGcvUnICWnJg++x8ji7YIHeX38AYOA==; 24:Rw7LXT0wdj71P/i3LH2GRdL1XuYn0JM/96PIsByxZuLkBG4G+czLsgnK1DWUHsFytfLblEk1FZGxtET+vhpAi4ml6PcG+otN16sgG9oEWyg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BL2PR02MB260; 7:sNGbBz/l+bIWbIDp4hz0Po+qTw1MHD01a+S7QPKl7z5xcRNVcGa7SCgJrg+d1okRKlg1xYVAGcS7TSbEPMtT76RzEEhExLRyB8tvBjhsmp8eyCgaxOdinIFzSieDcGMP0PL2b9wy/84A+CwTYcsecynEyLyB5mn//IMQps+g67b5KT3qswfRNFOc1hQbL22RxtZ7Bh4r8jNlP7Pecpw9IoGDhRUEgC/G2nYtaRWb1eoEoecc+5RVrVzjVQ4AEO/kfYrIiTPqOeu2Kb+5tFWrXizWU2u8+CoRQdFHRPQFsE3j38yuSNMxhcPCClHy7i3g2AW5JdedT/COeB6Ztm/Sgjv1iCgZTDOLfePAT69Js1g=; 20:+xr8mUrHMxbhErQnr9t/KBPF7VmfnoxVeyZTNSHiS8yIkdVbMjNe3132R6MDipMhSVck9el/TLVWLqcWcUJQH9/b8eqxWKxkiutZ4rCLHYnqELYnECZqNUFm6trT3c7ulQMxS72Wdi93GMRBmrTjQO8AWxSNpY/l43D56sGEhhUimk3/c0L/DFPPfGOTep8EHG8Dla2AkGVhy1Gzv11k3/EuMTmVL51U5pZzQOa1WX2QSWiHrcd5CBXJCOUeiV5w X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2016 00:21:42.8614 (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: BL2PR02MB260 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 Reviewed-by: Johannes Thumshirn Reviewed-by: Christoph Hellwig Cc: Hannes Reinecke Cc: Sagi Grimberg Reviewed-by: Sagi Grimberg --- 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 3c882cb..7e9950b 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 96015a9..b7753ae 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -494,12 +494,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); @@ -533,7 +533,8 @@ static void blk_mq_requeue_work(struct work_struct *work) blk_mq_run_hw_queues(q, false); } -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; @@ -552,6 +553,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 60fff99..a3e1727 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_start_stopped_hwqueues(info->rq); blk_mq_kick_requeue_list(info->rq); diff --git a/drivers/md/dm-rq.c b/drivers/md/dm-rq.c index 2b82496..4b62e74 100644 --- a/drivers/md/dm-rq.c +++ b/drivers/md/dm-rq.c @@ -347,7 +347,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 ab5f59e..8403996 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 126a784..b4f682c 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 ed20ac7..35a0af5 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_kick_requeue_list(struct request_queue *q); void blk_mq_delay_kick_requeue_list(struct request_queue *q, unsigned long msecs); void blk_mq_abort_requeue_list(struct request_queue *q);