All of lore.kernel.org
 help / color / mirror / Atom feed
From: Phillip Susi <psusi@ubuntu.com>
To: Dan Williams <dan.j.williams@gmail.com>
Cc: todd.e.brandt@linux.intel.com, Tejun Heo <tj@kernel.org>,
	"JBottomley@parallels.com" <JBottomley@parallels.com>,
	IDE/ATA development list <linux-ide@vger.kernel.org>,
	linux-scsi <linux-scsi@vger.kernel.org>
Subject: Re: [PATCH 3/6] libata: resume in the background
Date: Fri, 10 Jan 2014 21:25:39 -0500	[thread overview]
Message-ID: <52D0ABA3.9030502@ubuntu.com> (raw)
In-Reply-To: <CAA9_cmfzgNkep_ZBKwyvW3iUXnKyNjpbB1uGtDLonbD1wCM10g@mail.gmail.com>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On 01/10/2014 05:26 PM, Dan Williams wrote:
> I was going to comment that this leaves us open to a race to
> submit new i/o before recovery starts, but scsi_schedule_eh already
> blocks new i/o, so I think we're good.  I think it deserves a
> comment here about why it's safe to not care.

I don't follow, could you explain?

>> 
>> static int ata_port_resume(struct device *dev) { int rc;
>> 
>> +       if (pm_runtime_suspended(dev)) +               return 0;
> 
> Why?  If we dpm_resume() a port that was rpm_suspend()ed the state 
> needs to be reset to active.  I think this check also forces the
> port to resume twice, once for system resume and again for the
> eventual runtime_resume.

It stops the first resume by returning early, so only the second one
happens.

> ...so, the pm_runtime_suspended() check should go and something
> like this folded in:
> 
> diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c 
> index 92d7797223be..a6cc107c9434 100644 ---
> a/drivers/ata/libata-eh.c +++ b/drivers/ata/libata-eh.c @@ -4143,5
> +4143,11 @@ static void ata_eh_handle_port_resume(struct ata_port
> *ap) ap->pm_result = NULL; } spin_unlock_irqrestore(ap->lock,
> flags); + +       if (rc == 0) { +
> pm_runtime_disable(dev); +
> pm_runtime_set_active(dev); +
> pm_runtime_enable(dev); +       } } #endif /* CONFIG_PM */

Ahh, and that will stop the second resume, rather than the previous
change to stop the first?

Don't we want to stop the first rather than the second?  Otherwise if
the port is runtime suspended at system suspend time ( maybe no drive
connected to it? ) then there is no sense in resuming it at system
resume time.


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.14 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBCgAGBQJS0KujAAoJEI5FoCIzSKrwhQsH/0f4AywqDM1y1BOPSFNuiF/X
5SRz1BaXCs7AZhSBcBrS5H9lZJLUQoKshUFXHtV9A4DuRhIghl+cu7JsJt3aPlmM
u2yx3xETTj/iLqnL4shHVta/y9gXCfXhO7qZNtcDyPmiSgPNlFM4ZFTnnXtKaVgj
PxZPzLqLA+Oh/iTgOXLsC/CECrLdWm6paTE6ii04QiabUjbK9vKk7EqazRnrlnsC
I3MzulTu8jDLxMtwpdPPYUvi93BQr2P1Q11u/Rt8za+Y19h3UXpb2ATEiuHeYcNK
F/HpXR+zDDSKSDnE591pF5q6gsC1MHt4+Zq0g7ZfpparO+2TciQo0hLs09hVEhI=
=Cu86
-----END PGP SIGNATURE-----

  reply	other threads:[~2014-01-11  2:25 UTC|newest]

Thread overview: 165+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-17 19:33 [PATCH/RESEND v2 0/2] SATA disk resume time optimization Todd E Brandt
2013-11-07  1:53 ` Phillip Susi
2013-11-07  1:57   ` [PATCH 1/3] sd: don't bother spinning up disks on resume Phillip Susi
2013-11-07 18:21     ` Douglas Gilbert
2013-11-07 21:16       ` Phillip Susi
2013-11-16 18:20         ` James Bottomley
2013-11-17  3:50           ` Phillip Susi
2013-11-17  6:43             ` James Bottomley
2013-11-17 16:15               ` Phillip Susi
2013-11-17 23:54                 ` Douglas Gilbert
2013-11-18  1:06                   ` Phillip Susi
2013-11-18 15:54                     ` Phillip Susi
2013-11-20 14:23                       ` Mark Lord
2013-11-20 14:48                         ` Phillip Susi
2013-11-28  1:39                           ` Phillip Susi
2013-11-18  0:09                 ` James Bottomley
2013-11-18  1:11                   ` Phillip Susi
2013-11-16  5:23       ` Mark Lord
2013-11-16 14:52         ` Phillip Susi
2013-11-07  1:57   ` [PATCH 2/3] libata: resume in the background Phillip Susi
2013-11-07  1:57   ` [PATCH 3/3] libata: don't start disks on resume Phillip Susi
2013-11-09  1:20   ` [PATCH/RESEND v2 0/2] SATA disk resume time optimization Todd E Brandt
2013-11-09 20:59     ` Phillip Susi
2013-11-09 21:03       ` [PATCH 0/6] Let sleeping disks lie Phillip Susi
2013-11-09 21:03         ` [PATCH 1/6] libata: use sleep instead of standby command Phillip Susi
2013-11-09 21:03         ` [PATCH 2/6] libata: avoid waking disk to check power Phillip Susi
2013-11-11 13:05           ` Sergei Shtylyov
2013-11-09 21:03         ` [PATCH 3/6] sd: don't bother spinning up disks on resume Phillip Susi
2013-11-11 13:08           ` Sergei Shtylyov
2013-11-11 14:28             ` Phillip Susi
2013-11-09 21:03         ` [PATCH 4/6] libata: resume in the background Phillip Susi
2013-11-11 13:10           ` Sergei Shtylyov
2013-11-09 21:03         ` [PATCH 5/6] libata: don't start disks on resume Phillip Susi
2013-11-09 21:03         ` [PATCH 6/6] libata: fake some more commands when drive is sleeping Phillip Susi
2013-12-16 23:30         ` [PATCH 0/6] Let sleeping disks lie Phillip Susi
2013-12-16 23:30           ` [PATCH 1/6] libata: use sleep instead of standby command Phillip Susi
2013-12-16 23:30           ` [PATCH 2/6] libata: avoid waking disk for several commands Phillip Susi
2013-12-16 23:30           ` [PATCH 3/6] libata: resume in the background Phillip Susi
2014-01-10 22:26             ` Dan Williams
2014-01-11  2:25               ` Phillip Susi [this message]
2014-01-11  3:11                 ` Dan Williams
2013-12-16 23:30           ` [PATCH 4/6] libata: don't start disks on resume Phillip Susi
2013-12-16 23:30           ` [PATCH 5/6] sd: don't start disks on system resume Phillip Susi
2013-12-17  6:43             ` James Bottomley
2013-12-17 15:01               ` Phillip Susi
2013-12-17 17:48                 ` James Bottomley
2013-12-17 18:30                   ` Phillip Susi
2013-12-16 23:30           ` [PATCH 6/6] libata: return power status in REQUEST SENSE command Phillip Susi
2013-12-17 18:02             ` Sergei Shtylyov
2013-12-17 18:35               ` Phillip Susi
2014-01-06  2:14           ` REQ_PM vs REQ_TYPE_PM_RESUME Phillip Susi
2014-01-06  7:36             ` Sujit Reddy Thumma
2014-01-06  9:15               ` Aaron Lu
2014-01-06 14:40                 ` Phillip Susi
2014-01-06 15:38                   ` Alan Stern
2014-01-07  2:44                     ` Phillip Susi
2014-01-07 15:20                       ` Alan Stern
2014-01-07 15:40                         ` Phillip Susi
2014-01-07 15:56                           ` Alan Stern
2014-01-09 18:29                           ` Douglas Gilbert
2014-01-09 19:20                             ` Phillip Susi
2014-01-10  5:23                               ` Douglas Gilbert
2014-01-10 14:29                                 ` Phillip Susi
2014-01-07  7:49                   ` Aaron Lu
2014-01-07 14:50                     ` Phillip Susi
2014-01-08  1:03                       ` Aaron Lu
2014-01-08  1:16                         ` Phillip Susi
2014-01-08  1:32                           ` Aaron Lu
2014-01-08  1:53                             ` Phillip Susi
2014-01-08  2:11                               ` Aaron Lu
2014-01-08  2:19                                 ` Phillip Susi
2014-01-08  2:36                                   ` Aaron Lu
2014-01-08  5:24                                     ` Phillip Susi
2014-01-08  7:00                                       ` Aaron Lu
2014-01-08 19:30                                         ` Phillip Susi
2014-01-07 15:25                     ` Alan Stern
2014-01-07 15:43                       ` Phillip Susi
2014-01-07 16:08                         ` Alan Stern
2014-01-07 16:37                           ` Phillip Susi
2014-01-07 18:05                             ` Alan Stern
2014-01-07 18:43                               ` Phillip Susi
2014-01-07 19:18                                 ` Alan Stern
2014-01-07 23:47                                   ` Phillip Susi
2014-01-08 17:46                                     ` Alan Stern
2014-01-08 18:31                                       ` Alan Stern
2014-01-08 20:44                                         ` Allow runtime suspend during system resume Alan Stern
2014-01-08 21:17                                           ` Phillip Susi
2014-01-08 21:34                                             ` Alan Stern
2014-01-09 10:14                                               ` Ulf Hansson
2014-01-09 15:41                                                 ` Alan Stern
2014-01-08 22:55                                           ` Rafael J. Wysocki
2014-01-08 23:24                                             ` Alan Stern
2014-01-09  0:05                                               ` Rafael J. Wysocki
2014-01-09 15:32                                                 ` Alan Stern
2014-01-09 15:50                                                   ` Phillip Susi
2014-01-09 16:08                                                     ` Alan Stern
2014-01-09 16:30                                                       ` Phillip Susi
2014-01-09 17:04                                                         ` Alan Stern
2014-01-10  1:25                                                   ` Rafael J. Wysocki
2014-01-10  1:55                                                     ` Phillip Susi
2014-01-10 13:35                                                       ` Rafael J. Wysocki
2014-01-10 14:46                                                         ` Phillip Susi
2014-01-10 15:25                                                     ` Alan Stern
2014-01-10 23:02                                                       ` Rafael J. Wysocki
2014-01-11  2:08                                                         ` Phillip Susi
2014-01-11 22:50                                                           ` Alan Stern
2014-01-12  1:50                                                             ` Phillip Susi
2014-01-11 22:34                                                         ` Alan Stern
2014-01-08 20:20                                       ` REQ_PM vs REQ_TYPE_PM_RESUME Phillip Susi
2014-01-08 21:21                                         ` Alan Stern
2014-01-08 21:50                                           ` Phillip Susi
2014-01-09  1:29                                           ` Aaron Lu
2014-01-09 12:17                                             ` Rafael J. Wysocki
2014-01-09 13:18                                               ` Rafael J. Wysocki
2014-01-09 15:40                                             ` Alan Stern
2014-01-09 15:53                                               ` Phillip Susi
2014-01-09 16:14                                                 ` Alan Stern
2014-01-09 16:34                                                   ` Phillip Susi
2014-01-09 17:06                                                     ` Alan Stern
2014-01-16 16:59                                                 ` Disk spin-up optimization during system resume Alan Stern
2014-01-16 18:04                                                   ` Todd E Brandt
2014-01-16 18:33                                                     ` Phillip Susi
2014-01-16 20:05                                                     ` Alan Stern
2014-01-16 22:04                                                       ` Todd E Brandt
2014-01-17 14:57                                                         ` Alan Stern
2014-01-17 19:31                                                           ` Dan Williams
2014-01-17 20:15                                                             ` Alan Stern
2014-01-17 20:24                                                               ` Tejun Heo
2014-01-17 20:55                                                                 ` Phillip Susi
2014-01-18 14:04                                                                   ` Tejun Heo
2014-01-18  1:36                                                                 ` Todd E Brandt
2014-01-18  1:41                                                                 ` Alan Stern
2014-01-18  2:15                                                                   ` Dan Williams
2014-01-18  2:33                                                                     ` Alan Stern
2014-01-18  3:24                                                                   ` Phillip Susi
2014-01-18 13:59                                                                   ` Tejun Heo
2014-01-17 20:49                                                             ` Phillip Susi
2014-01-17 22:17                                                               ` Dan Williams
2014-01-18  3:18                                                                 ` Phillip Susi
2014-01-18  4:09                                                                   ` Dan Williams
2014-01-18 14:08                                                                     ` Alan Stern
2014-01-21 10:12                                                                       ` Dan Williams
2014-01-21 14:37                                                                         ` Phillip Susi
2014-01-21 16:03                                                                           ` Alan Stern
2014-01-21 16:18                                                                             ` Phillip Susi
2014-01-21 16:49                                                                               ` Alan Stern
2014-01-21 15:44                                                                         ` Alan Stern
2014-01-21 16:18                                                                           ` Dan Williams
2014-01-21 16:55                                                                             ` Dan Williams
2014-01-20 12:38                                                                     ` CrashPlan Pro
2014-01-20 14:30                                                                       ` Phillip Susi
2014-01-18  1:24                                                           ` Todd E Brandt
2014-01-18  3:20                                                             ` Phillip Susi
2014-01-16 18:39                                                   ` Phillip Susi
2014-01-16 20:08                                                     ` Alan Stern
2014-01-17 10:16                                                   ` Oliver Neukum
2014-01-17 10:21                                                     ` Tejun Heo
2014-01-17 18:18                                                       ` Alan Stern
2014-01-17 18:39                                                       ` James Bottomley
2014-01-17 19:07                                                         ` Tejun Heo
2013-11-11 16:59       ` [PATCH/RESEND v2 0/2] SATA disk resume time optimization Todd E Brandt
2013-11-11 17:08         ` Phillip Susi
2013-12-17 12:15           ` Tejun Heo
2013-12-17 14:24             ` Phillip Susi
2013-11-27 16:18 ` Phillip Susi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52D0ABA3.9030502@ubuntu.com \
    --to=psusi@ubuntu.com \
    --cc=JBottomley@parallels.com \
    --cc=dan.j.williams@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=tj@kernel.org \
    --cc=todd.e.brandt@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.