Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp5695978imw; Wed, 20 Jul 2022 10:32:46 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sXgv77MJs3pbKxKzqyv2y5/oEC4ism4EESHAxymSUj1Fx7nft0OuVUqr7qN7nSkJtOyDDy X-Received: by 2002:a05:6a00:1a86:b0:52a:d419:9552 with SMTP id e6-20020a056a001a8600b0052ad4199552mr40666806pfv.70.1658338366650; Wed, 20 Jul 2022 10:32:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1658338366; cv=none; d=google.com; s=arc-20160816; b=S4HGRNuJgVJjCDE25qLpYJoTY7vDviuXP1CB0BUAONiN26dEL+PaUpNIkwzKcGuO3K mrF7HMq04/CmfbK/Eb/xtmHmQgBseEZ8FFaroDJT6I10AN6Q2j5RoOYJG81BlviOR2cw kXW6MitgmWcQkgGkaGXYWdlq2hwAND/T3sODeRIA8gQG2AlIYBdBOPJuMMYGjPaJpb3V OfRJ0QxwzMhdxJQ2cr0HmzXgfrEI576qq+kw8QorRsPqeYbO/0bNht8VvhoaKXCGJi1Y NuQojiWC1kSz/zJHTWl1WnPT9fMYzXPMQSjw8F2CjdiuaunyyeP2ac6Id5pI/iHdC03Z CHEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id; bh=uec/oXr/Tjpv6wPvs6IdX7AlVzGoN0KQw6QozY3V18c=; b=L3cWmSVTdoeWcAC1UREicYrDqcOWvXHFYhNYTSToA3tX0At35BVlyvEmiKAv33v3jc k99sllCNtdW0T06HrclePKyGyGl8afSD+QRrTcbCEYAJEBW4DE9DSeuikkz/T7FC+bsG noUdqn8u+EwiHvYNwSgt2WRPLJJvSxKIFXRecrpUZQTBpnnyZjc7X/2DyJ7/FNvxFy87 1bw0gwZCWYVbZ30NL7TN0ekCXK/f3i0AP0Nf8BazZs5CRd7Xi0Swr891wC5+f7n0jUCk qUnHAVkwrD5TA7Y80S9wN8Pt/qlku4MYWXDD//sO9YyEI67qB2Re5oMwkTUBgB7IMOsX betA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=acm.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q5-20020a170902f78500b0016c3d9ae242si8631734pln.211.2022.07.20.10.32.31; Wed, 20 Jul 2022 10:32:46 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=acm.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229862AbiGTQve (ORCPT + 99 others); Wed, 20 Jul 2022 12:51:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50300 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235188AbiGTQv0 (ORCPT ); Wed, 20 Jul 2022 12:51:26 -0400 Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B0CDCE02C; Wed, 20 Jul 2022 09:51:24 -0700 (PDT) Received: by mail-pg1-f173.google.com with SMTP id s206so16918970pgs.3; Wed, 20 Jul 2022 09:51:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=uec/oXr/Tjpv6wPvs6IdX7AlVzGoN0KQw6QozY3V18c=; b=z4/IqObr4z+IZlNEVPByOydzTKVwQAf3o89llzUgZqRMJ/S0CCc3CLddZA8NxHC5tG rQxMv/+bUgAr4ayyewsVEb9RFVjM2glydU5w6vylVVx03qXtWj3Jil1p26hjUVFmvTZK NPRE1EOBfMPgHB4vrAyNnothbXUhGdMWVrHoCAsnLGeqsI8AYKxRKGvumu9KIP59s14C AjLczqqRrq2iZ2wXK7FZllGabbDAIr0Lfn7ka9yupDmlCi7TdXf7q4OD9bvzUqBcH+cD nXU2sHhT4oR4WZmKsr8/I3EHxnCxegYNEgPA2ZZc+pHd4RiHcErO2QSMdURpSAbhfn7k dT3g== X-Gm-Message-State: AJIora8SWpmPXsIHgQNcGBvvohTQSWdyTNtdILx9nJCm/RdGfBnp0B2j l9WusUPa3qGaJki8aq6I7Fc= X-Received: by 2002:a63:1648:0:b0:41a:49f9:77ae with SMTP id 8-20020a631648000000b0041a49f977aemr8822433pgw.377.1658335883867; Wed, 20 Jul 2022 09:51:23 -0700 (PDT) Received: from ?IPV6:2620:15c:211:201:a7e0:78fc:9269:215b? ([2620:15c:211:201:a7e0:78fc:9269:215b]) by smtp.gmail.com with ESMTPSA id q6-20020a17090aa00600b001f2128b11a4sm1879933pjp.38.2022.07.20.09.51.22 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 20 Jul 2022 09:51:23 -0700 (PDT) Message-ID: <506ca1a6-1122-5755-fc74-60f7c7bfbd0d@acm.org> Date: Wed, 20 Jul 2022 09:51:21 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [PATCH v2 2/2] scsi: sd: Rework asynchronous resume support Content-Language: en-US To: Geert Uytterhoeven Cc: "Martin K . Petersen" , Jaegeuk Kim , scsi , Ming Lei , Hannes Reinecke , John Garry , ericspero@icloud.com, jason600.groome@gmail.com, Linux-Renesas , Linux Kernel Mailing List References: <20220630195703.10155-1-bvanassche@acm.org> <20220630195703.10155-3-bvanassche@acm.org> From: Bart Van Assche In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 7/20/22 00:47, Geert Uytterhoeven wrote: > With more debug options enabled, it prints: > > INFO: task kworker/0:7:283 blocked for more than 120 seconds. > Not tainted 5.19.0-rc7-salvator-x-00794-g6780eb02b605 #1287 > "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. > task:kworker/0:7 state:D stack: 0 pid: 283 ppid: 2 flags:0x00000008 > Workqueue: events ata_scsi_dev_rescan > Call trace: > __switch_to+0xbc/0x124 > __schedule+0x540/0x71c > schedule+0x58/0xa0 > io_schedule+0x18/0x34 > blk_mq_get_tag+0x138/0x244 > __blk_mq_alloc_requests+0x130/0x2f0 > blk_mq_alloc_request+0x74/0xa8 > scsi_alloc_request+0x10/0x30 > __scsi_execute+0x5c/0x18c > scsi_vpd_inquiry+0x7c/0xdc > scsi_get_vpd_size+0x34/0xa8 > scsi_get_vpd_buf+0x28/0xf4 > scsi_attach_vpd+0x44/0x170 > scsi_rescan_device+0x30/0x98 > ata_scsi_dev_rescan+0xc8/0xfc > process_one_work+0x2e0/0x474 > worker_thread+0x1cc/0x270 > kthread+0xd8/0xe8 > ret_from_fork+0x10/0x20 > > This doesn't look like it's blocked in the R-Car SATA driver, but on > some I/O scheduling event in the block core? I'm not familiar with the SATA code but from a quick look it seems like the above code is only triggered from inside the ATA error handler (ata_do_eh() -> ata_eh_recover() -> ata_eh_revalidate_and_attach() -> schedule_work(&(ap->scsi_rescan_task) -> ata_scsi_dev_rescan()). It doesn't seem normal to me that the ATA error handler gets invoked during a resume. How about testing the following two code changes? * In sd_start_stop_device(), change "return sd_submit_start(sdkp, cmd, sizeof(cmd))" into "sd_submit_start(sdkp, cmd, sizeof(cmd))" and below that call add "flush_work(&sdkp->start_done_work)". This makes sd_start_stop_device() again synchronous. This will learn us whether the behavior change is caused by submitting the START command from another context or by not waiting until the START command has finished. * Back out the above change, change "return sd_submit_start(sdkp, cmd, sizeof(cmd))" again into "sd_submit_start(sdkp, cmd, sizeof(cmd))" and below that statement add a call to scsi_run_queue(sdkp->device->request_queue). If this change helps it means that the scsi_run_queue() call is necessary to prevent reordering of the START command with other SCSI commands. Thanks, Bart.