Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp5129348rwd; Sun, 11 Jun 2023 23:48:59 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6Vh8W5et82HGpcjxjPXMFI4GrOyj/reMGRzbEdi6C++8ajS8WZyXK9JGcGG+CX7Bv7DFBX X-Received: by 2002:a05:6808:18a1:b0:39c:475e:d78a with SMTP id bi33-20020a05680818a100b0039c475ed78amr3792823oib.17.1686552539669; Sun, 11 Jun 2023 23:48:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686552539; cv=none; d=google.com; s=arc-20160816; b=pVXQDwr0j17kzfat1H5M4u+Bc1q7TtK/U42ZBWCiC1X9yBZMQHkMRhquA5MDkkahwF lFsCCVIW7D/g8viJM3fVTy8udWv0sSUWApx6C9GLxQQ8UjQ2nN9wJ3LrGhAeiFurTH+i lwS8mdASTzHBmPh4+8p5hscYr2Ez5oez2swMqX05U/fjuTjSka9O6fFzpldZ/JfHzVNF h64hYeZKYFVP/u2VE/9ZDeVlGncxwWh/RpcS8rx8RLD5F5k1B8idSJl1gUIKR2sG6fi0 o9hu6G7hIgqQczP8d8wTTSEv6SY76S99zZ3j46TQqMtJbQLsNwSsylR+JeBkJZ+8DHsg hUUQ== 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:dkim-signature:dkim-signature; bh=kCw5nk0F5PqPIo3UlZE9ej6dRXUskeYlSz5XihTrsDs=; b=kA+1D4n970y2CvLFu+naLD5jKZIqwHpSqMsBof9yJUOQQXkRENE1g9JbeHJt//7RKM fmeaRCdszwnFrseUY+3xArB2A4yOlit1Ecsp69sGGq0aHh/94SFeHayO8XJJB3eCe5Mp Cm+enlOwVp6AwpxUMtj1YHQfUvQiAkG5MlQbEE/t1YTRrJ5rsfFtUVU10VtOCaoXMuCY MuexH/NAwVf3Kf6L1HI/afpEVuhdUSxnEDAfs84j7X2gj1LHB9EnVs7XqjSF5mPC5wFc XQ0gc1RF2Xu1V4x3G9z9bC/g++MjBKCD01oqtri+/+g6kvRsmfFbNPzu36HutRb6O0nT 7nGg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=n1BQblxL; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519 header.b=JhqVRkLM; 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=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q39-20020a17090a1b2a00b0025669d0176asi8246480pjq.134.2023.06.11.23.48.46; Sun, 11 Jun 2023 23:48:59 -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; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=n1BQblxL; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519 header.b=JhqVRkLM; 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=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232392AbjFLGJ7 (ORCPT + 99 others); Mon, 12 Jun 2023 02:09:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50356 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229477AbjFLGJz (ORCPT ); Mon, 12 Jun 2023 02:09:55 -0400 Received: from smtp-out1.suse.de (smtp-out1.suse.de [IPv6:2001:67c:2178:6::1c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B4ABD11B; Sun, 11 Jun 2023 23:09:53 -0700 (PDT) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 0E49522760; Mon, 12 Jun 2023 06:09:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1686550192; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=kCw5nk0F5PqPIo3UlZE9ej6dRXUskeYlSz5XihTrsDs=; b=n1BQblxLy3G4bdU8Qhp0vWHnY2GqWSV6Nj26ZpZkbBclZAEUb9ggkckAs3Cgi/apdCN1iS Shh4tCx0bqRfFEvWJrlsyj4lsU0lYWn+2pHMANp+eMS/l4LYvjjwbn0219DwmW5HYOwfL5 XkTuAZyRlU9zoHCWvTuKlpjHZ4P7U/g= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1686550192; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=kCw5nk0F5PqPIo3UlZE9ej6dRXUskeYlSz5XihTrsDs=; b=JhqVRkLMrpetbd4musbzi1+eymg3KPxuPiMyYVZUqmkw5Y+zMkWftAEYMHs4Jxy5OJJOrN swtsgJLmLXVSoBBg== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 3FC02138EC; Mon, 12 Jun 2023 06:09:51 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id X9joC6+2hmTSSAAAMHmgww (envelope-from ); Mon, 12 Jun 2023 06:09:51 +0000 Message-ID: <0505654c-e487-6b91-57cf-fa7996f5c738@suse.de> Date: Mon, 12 Jun 2023 08:09:50 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Subject: Re: Fwd: Waking up from resume locks up on sr device Content-Language: en-US To: Damien Le Moal , Bart Van Assche , Bagas Sanjaya , Pavel Machek Cc: "Rafael J. Wysocki" , Len Brown , Greg Kroah-Hartman , Kees Cook , Tony Luck , "Guilherme G. Piccoli" , Thorsten Leemhuis , "James E.J. Bottomley" , "Martin K. Petersen" , Phillip Potter , Joe Breuer , Linux Power Management , Linux Kernel Mailing List , Linux Hardening , Linux Regressions , Linux SCSI , Alan Stern , Dan Williams , Hannes Reinecke , Adrian Hunter , Martin Kepplinger , Kai-Heng Feng References: <2d1fdf6d-682c-a18d-2260-5c5ee7097f7d@gmail.com> <5513e29d-955a-f795-21d6-ec02a2e2e128@gmail.com> <07d6e2e7-a50a-8cf4-5c5d-200551bd6687@gmail.com> <02e4f87a-80e8-dc5d-0d6e-46939f2c74ac@acm.org> <4005a768-9e45-0707-509d-98ce0d2769bd@kernel.org> From: Hannes Reinecke In-Reply-To: <4005a768-9e45-0707-509d-98ce0d2769bd@kernel.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham 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 6/12/23 05:09, Damien Le Moal wrote: > On 6/11/23 00:03, Bart Van Assche wrote: >> On 6/10/23 06:27, Bagas Sanjaya wrote: >>> On 6/10/23 15:55, Pavel Machek wrote: >>>>>> #regzbot introduced: v5.0..v6.4-rc5 https://bugzilla.kernel.org/show_bug.cgi?id=217530 >>>>>> #regzbot title: Waking up from resume locks up on SCSI CD/DVD drive >>>>>> >>>>> The reporter had found the culprit (via bisection), so: >>>>> >>>>> #regzbot introduced: a19a93e4c6a98c >>>> Maybe cc the authors of that commit? >>> >>> Ah! I forgot to do that! Thanks anyway. >> >> Hi Damien, >> >> Why does the ATA code call scsi_rescan_device() before system resume has >> finished? Would ATA devices still work with the patch below applied? > > I do not know the PM code well at all, need to dig into it. But your patch > worries me as it seems it would prevent rescan of the device on a resume, which > can be an issue if the device has changed. > > I am not yet 100% clear on the root cause for this, but I think it comes from > the fact that ata_port_pm_resume() runs before the sci device resume is done, so > with scsi_dev->power.is_suspended still true. And ata_port_pm_resume() calls > ata_port_resume_async() which triggers EH (which will do reset + rescan) > asynchronously. So it looks like we have scsi device resume and libata EH for > rescan fighting each others for the scan mutex and device lock, leading to deadlock. > > Trying to recreate this issue now to confirm and debug further. But I suspect > the solution to this may be best implemented in libata, not in scsi. > This looks definitely related to this thread: > > https://lore.kernel.org/linux-scsi/7b553268-69d3-913a-f9de-28f8d45bdb1e@acm.org/ > > Similaraly to your comment on that thread, having to look at > dev->power.is_suspended is not ideal I think. What we need is to have ata and > scsi pm resume be synchronized, but I am not yet 100% clear on the scsi layer side. > Which is my feeling, too. libata runs rescan as part of the device discovery, so really it will run after resume. And consequently resume really cannot wait for rescan to finish. What I would be looking at is to decouple resume from libata device rescan, and have resume to complete before libata EH runs. Cheers, Hannes -- Dr. Hannes Reinecke Kernel Storage Architect hare@suse.de +49 911 74053 688 SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg HRB 36809 (AG Nürnberg), Geschäftsführer: Ivo Totev, Andrew Myers, Andrew McDonald, Martje Boudien Moerman