Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758739AbdCVDK0 (ORCPT ); Tue, 21 Mar 2017 23:10:26 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:36210 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758582AbdCVDKX (ORCPT ); Tue, 21 Mar 2017 23:10:23 -0400 Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=fb.com; Subject: Re: [PATCH] blk-mq: don't complete un-started request in timeout handler To: Ming Lei , , , Christoph Hellwig References: <20170322021443.26397-1-tom.leiming@gmail.com> CC: Yi Zhang , Bart Van Assche , Hannes Reinecke , Keith Busch From: Jens Axboe Message-ID: <2bc8118b-4a11-f28e-50eb-22019184756b@fb.com> Date: Tue, 21 Mar 2017 23:03:59 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: <20170322021443.26397-1-tom.leiming@gmail.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [63.149.67.7] X-ClientProxiedBy: CY4PR13CA0091.namprd13.prod.outlook.com (10.171.162.29) To BN6PR15MB1187.namprd15.prod.outlook.com (10.172.205.141) X-MS-Office365-Filtering-Correlation-Id: 8dfe3626-9040-42a2-1a27-08d470d01b0d X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:BN6PR15MB1187; X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1187;3:loB3R/1SO5dnP4FnTIsvsopAowIdlMEAx8cAYmG0Od/DwSsPt2rZZSB/q/h5kkMnkBhtk948Ubn2ZRQXzio2EHw1wifpzeJIDdRaHYv73MiuLrVU6RbnzNFD3i+SeblbPiegUObNAPOIwvGVnfoySy5mfcYUZRCcImTiLRFG+DB+qixg7QBNkBTVMjmMqCdMnn53trhY4HxN6H1+SECQtbm2IVAta2evlTQ4SXH9H4T63nFnHhPOLktmcaWoG8ofAuUcYhOeC3WQlRyYv6S7Uw==;25:mFUc3xa4IZX3qJFYP2psL7IWtEPCQ3VEYbJXPWtElQGcvIegIyJoM38ytHtDTKOaoTD/jwGso4QqVDHUY1m5VW0vWQ5q42QlEu/pC8AIZ1l1OrYQyBWdBTr6U/lwvQrrvN1yaRKRUbUtyC649tA6LwbDLK+V31CpltD4KqvIXvojFODsmFQwRJacZN4s8uNp1nk0JZzhLb+c7hGluf/gqtqljM/SVdztS6mVmAgwW2chAU3rUJc+fzIbbVbuoR8uv6tpqoBVVxB2HoAMur7ICI8y2RDkLc4t/i9VGwInKTYN+T59jsSIk2RcCze9z/i+fnsxEm0ZvoF0Q7LkPo6I+EOPIM4ytZHYnrV3DIL0tPucXW+5F7ctEYMR/WWDwxds1gnOFwagLzVj909/gcxjMKSx6ajCW8ZKnzVWnAIaYxxwZMhR25/HQ/pK6nKg1GwBTbKc28ioPG1CAHN2o+rPsQ== X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1187;31:rNM5aZpj4+floLd71Ea3lKFZ6QZKP0CQT47OJ6B/MXv1vbgOzFp+wXX45gtJCgvtkfh1lHLzI2Se3J3AvZlOn7Q8Hac2JaHW2cpnClMnaxLHo2G4qSl7T1r5hWTjYJP2cd5cYg/jYyqOyqG4Uz0IWqHgtcZP4q+5iTO8lH+TyPJqOv6Sayy3P5EQuYXsC9Ok5KETF+maZZ3S6NgwKIaGjyVR5NBzJcIH4rM1RgYsyhQ5ge/unLRopbwkfDy045MEiBw2Bp1nxmZqftC+3piOQA==;20:QDUBQZvzQzCK8q/ndCDKVPkKMO50E6N1Af+v4GAlsqlwOPeNzNlQ6AEPSQNuf8yMCS9k/WqIv7zu1JREJHJ1Wn9RqpHF5oEV73MgSEJ9WMIzG00zR4q9nQUb9Oh8uoA26rTMFAEw0hPKgkCaTT4UMRroQ9OtrmTmQu25o2KaSfAh7VTBp0TzIiMZw5J/W+lApOMQP4HJmnnSfyL6Ld6y+94u5h4bicmuvujg4Jn7y31QgAHFtYgRqwRe2RRn29QSKKDnlPGbfZe/ymVmt+k99zxN3z9gBtf3MLr3EaI/7//XrbQsoo9YcdZlF/Y20K/QowXWXzGFMG0abMNCeYEdfg8PPt6itxm5+7qWy2EhBpoJpu4QG2mod/Zg1EJatKu0yU2kowE1RMB8PRy/jHpLkwIugX2zsbaEB6/YJH63zAB81qofpIth8/UDXitXSrrFuC8PbRm16UaFLRk03RfYPyrhWeZyA2pKyn28tyUB9yNRuUFbORkjTM+z4elMH7yJ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123558025)(20161123555025)(20161123560025)(6072148);SRVR:BN6PR15MB1187;BCL:0;PCL:0;RULEID:;SRVR:BN6PR15MB1187; X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1187;4:wMP5TCdxmfOFhIiftG5IubFGKrWEv4vsH8ivcb+acN4USoFFwisaiarlZyJLkhU/e0aXi9zAi9X1m40hCr588Rkc0b3TOcavC6s9jgFyO0cvm+J9yFk+LcdB7cQzd1AfAARJygjf0Eycq/kWm0XlPXUV4LTQxo1Y9er27mDl+E2sY+g0SXcsSUiTTo2AKJ8JWz2MMbbUL+TDngh1JYiP1JKxzCrMUNoz/fQMZCLT+Rfl47C2g5/nM8Rys1EGuKDv/D4JTBM3IV+znQHsn+gnAefYynhZNXXDHHwhrilB31Byv/fQ9PNwUx5I3T8STl3knFtJQ2VshwDQZdFuS293co2qwJeknGlmKjgapoiV8GDNc6Dl5i+ybvMroB161qA2iTWYMP9tvPQwxa5U+CEpuHQWGHgUgr5VE9Y5XjILfntTQvifYHF/axW7bl+EYGzYCa+U/9g1oeFg8qWo28saDR4akbParevI7UDI9QXiqPf+5JGUa63kuZyx8YFk1zVHjYdrReq3aZ+HwvoGo1fCjHa9HeRKvl9670Jn4a4SSIvCUIEDfrPeD59kN6oYJGqv+U695kVr+4M7ZUapzKkE52XwPGjGebIYS9L05l4CFqFvGQTLYE8EahCWmNyS2f3647upmhG7wzTrU1WmfTItlQ== X-Forefront-PRVS: 02543CD7CD X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(39450400003)(377454003)(24454002)(65956001)(47776003)(3846002)(36756003)(6116002)(230700001)(50466002)(54356999)(31696002)(4326008)(8676002)(23746002)(53546009)(4001350100001)(81166006)(50986999)(2201001)(54906002)(189998001)(86362001)(6246003)(5660300001)(38730400002)(2950100002)(8656002)(53936002)(6666003)(33646002)(90366009)(229853002)(77096006)(6486002)(305945005)(83506001)(7736002)(76176999)(66066001)(2906002)(25786009)(31686004)(42186005);DIR:OUT;SFP:1102;SCL:1;SRVR:BN6PR15MB1187;H:[10.199.2.93];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;BN6PR15MB1187;23:usdB7L8KpJL0dGJ908xuVlprF73UniBREJveN?= =?Windows-1252?Q?WrFopOCmHla8bao1rI8qoC92PBn1SHwW5l9hRZBAD/7oYuPwNWs/wN4D?= =?Windows-1252?Q?faykepAzFU117amTGYrUU0ppiaC/kSLjDiIRltLduDHPDCgakoadkxIE?= =?Windows-1252?Q?l2mejCyvXFI5Ir1YS/IKsEVjmP1TkY0y10z+rFmW8yRhaAnEEhXy4vr3?= =?Windows-1252?Q?1UPzR1pj/vVW1fCuD/EMIr1OIJhVoMjtZreag1Ph9EHv9PgBu/BJXddt?= =?Windows-1252?Q?luWiVyL/QxtUgGpj7wRtLWdbzjxaQ7yery4wvQAaoOmW3Kp7/bJKzsfD?= =?Windows-1252?Q?Nkp+7CwpbtAwubRFB9hjblinmcMRHphqLIuI40sRUYZz0nZHIfyGINVC?= =?Windows-1252?Q?WjQp5jq+vtqjIbNZ6gLpf/uLy3kto9Kzsd5awuaS0191XNufsTBEVBL/?= =?Windows-1252?Q?fCn5jDMH7+OoDTEN7BDHQreOOCdS62tN9LyO/zz/y7NIKyV7zTlItEpp?= =?Windows-1252?Q?C5C6bxCJbYwwKjzLIYKkw61MLN5WcVMYg5tUaMp8XADoh+XsfgRSGgGY?= =?Windows-1252?Q?fopzG40Bpp2VFZ4uxU0WJPFso0h358SnBfL9Tvll1ogEt5xM/Be0e0eg?= =?Windows-1252?Q?eW5R6Y+zytH4FQvs9l4s8loaDIQMHgP4ThUTHe4K2YnKuqzg+LM7RYKY?= =?Windows-1252?Q?dFLGG7ZsIrok150GBHZOmpkoWLRxhqacEDccXvtkEqX/j/pOGwFVyAFj?= =?Windows-1252?Q?iRnhGB1bsWkSsPj2tk8/qQmJCtCnk3uQ2XNcqIEkQdYR759K59fUsokD?= =?Windows-1252?Q?j5u+3EgeRq+1gaawrLeyUeAWkTPTok78vNE7F/70XxhpoKEKE8Te5EJh?= =?Windows-1252?Q?7Kce5HvvQWYH2Bnb6LtthbE/PHSV2wAaqDhEVjCr4GZvvPvhZqVEXvA+?= =?Windows-1252?Q?3Bx5qJqMogQ4b2EhIT/aMg9E7fOzihufYpalhkcD6QPE3tHMQfBcwl+S?= =?Windows-1252?Q?kFsJnhpqS1AetVZIpzWSeGF89n/8SXz/0om3HLwRE1orhRjie+pdUu5/?= =?Windows-1252?Q?kh8BVlS882Ii2MhMy+9q7K4eBXaL4iEyD4aau6yvDNKIPX55z8z07RQc?= =?Windows-1252?Q?3sMayXgldJgCJvOqj5wLVvD6jOGwyjIs13g9ugnNUU2n7USXgTss+wHl?= =?Windows-1252?Q?0NG7veG5M8LNAd3FQZX004Na/tV0TBVrZHw1gWBpFLtHh0uT7nEL6Doo?= =?Windows-1252?Q?1VMsSdYi6VT7w3yRQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1187;6:DSVisJHaeeOCiFW5ZG+CVw3jVt/7n2RE/odWqENIWx7kHSKSULFrPVmVVUv1HXZdq3dVCVoroZ9Iuhxwe1h0/2vNHVFTwT0IzbAuBicPWxwhnL8MHohgeWLtbXK0TNBDGY/e9oOWBxmiHrWfFv9Hrf3zmTX7oQ8UMfSIt/KIY9eW8iWS4v9dZTQtMRfkI6K97UBE0e1AvWlej+hB1X3tV5gDzu3A2I9G6W15ExY1y6sljR1YngV6MMsqVCvjckuKHv5g2IEuccwpK2lPSKaP5KVB9/K6ZzIDPOdhqAluKKvQu3KVQO48NjVFnAJ7ebRX4qElQ6cU7Ujn6V5lJlQZdwHDqSAWFEF+SJFZ28Exka1GkXGcRcLKbHYSkO8Ran2kM9rnqPmV5oJ/hMYtzuD7ww==;5:n9uGC3rpKdN+JtqT/mm6SgR5xE0E/3ipUrHsuAX9g5h+aWeJaClcV9aCqhT7UPdJIgaesFki0IgwZm8u/dvfvXDgGkBQW8PiyW0ppQCkdz/kvagZagStR4ulbXboZjXJx7MS1LzdGfgWB9ZOQMz6dw==;24:oJgnlm1t6XojzIqPGjq4v5ooJbELIqePcprb1VSRfQzuD+AC41pLxJUnPwPfP0ucn4jNWCE6TnybCKfsU9bNRVNGWdOj+/7j8I2ikdjS10Q= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1187;7:2qhvDqOBvxmyD1MhtnBybWl5ZLjGl7BOmh4JCwfqfyzUTaXT34KLHOIgfCjNQ0oPpU9ApGkPGOv3wlf8hbLhl7cRTcA9DPfoRv9l0RTQhwj/wdFFjm6Qt03gubn/Lf2nlmSmk+QwUJCSxxsa8c7VOC/vxeys4NjJWPk5CptFDs4hqdYLkmffcetrWDyZl5oupug3Fog9RN4U3GhxfTRDW3WEF0dkjCsGWAMAdEx/KwiiFgf5NRt6r+trHBvCSN+n3o6JsywhT9xkYTfKi1BZWRLlZZn3qvcX8NjUcadlG2oOgVHQPJStW+BOR/iGkOE+Pjz0k9voRB2YPOFTCYoFPA==;20:s7UbxRlFKIcnR873TfNKfxfFYs9TBMko0v8MO9aCSnTwavMdv910eOSMVIEbjkdVm6PejTIsx8RJ318k39N6i+YKtl0Sxh0raqY8YdoX7qP/j0aEwWU/uAZ3K1n1bAqbyAIumt+5wxJ695Eqca/pF0UHNilxMuZ8+5+StPOReVg= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2017 03:04:05.1274 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR15MB1187 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-03-22_02:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 969 Lines: 26 On 03/21/2017 10:14 PM, Ming Lei wrote: > When iterating busy requests in timeout handler, > if the STARTED flag of one request isn't set, that means > the request is being processed in block layer or driver, and > isn't submitted to hardware yet. > > In current implementation of blk_mq_check_expired(), > if the request queue becomes dying, un-started requests are > handled as being completed/freed immediately. This way is > wrong, and can cause rq corruption or double allocation[1][2], > when doing I/O and removing&resetting NVMe device at the sametime. I agree, completing it looks bogus. If the request is in a scheduler or on a software queue, this won't end well at all. Looks like it was introduced by this patch: commit eb130dbfc40eabcd4e10797310bda6b9f6dd7e76 Author: Keith Busch Date: Thu Jan 8 08:59:53 2015 -0700 blk-mq: End unstarted requests on a dying queue Before that, we just ignored it. Keith? -- Jens Axboe