mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Ming Lei <tom.leiming@gmail.com>, Alan Stern <stern@rowland.harvard.edu>
Cc: Linux PM mailing list <linux-pm@lists.linux-foundation.org>,
	Tejun Heo <tj@kernel.org>, Greg KH <greg@kroah.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Magnus Damm <magnus.damm@gmail.com>,
	Kevin Hilman <khilman@ti.com>,
	linux-scsi@vger.kernel.org
Subject: Re: [PATCH 3/3] PM: Limit race conditions between runtime PM and system sleep
Date: Tue, 28 Jun 2011 23:42:24 +0200	[thread overview]
Message-ID: <201106282342.25003.rjw@sisk.pl> (raw)
In-Reply-To: <20110628235643.4cf7cff0@tom-ThinkPad-T410>

On Tuesday, June 28, 2011, Ming Lei wrote:
> 
> Hi Rafael,
> 
> On Sun, 26 Jun 2011 00:56:31 +0200
> "Rafael J. Wysocki" <rjw@sisk.pl> wrote:
> 
> > Index: linux-2.6/Documentation/power/runtime_pm.txt
> > ===================================================================
> > --- linux-2.6.orig/Documentation/power/runtime_pm.txt
> > +++ linux-2.6/Documentation/power/runtime_pm.txt
> > @@ -567,6 +567,11 @@ this is:
> >  	pm_runtime_set_active(dev);
> >  	pm_runtime_enable(dev);
> >  
> > +The PM core always increments the run-time usage counter before calling the
> > +->suspend() callback and decrements it after calling the ->resume() callback.
> > +Hence disabling run-time PM temporarily like this will not cause any run-time
> > +suspend callbacks to be lost.
> 
> Could you explain why the above is that "this will not cause any run-time suspend
> callbacks to be lost"? 
> 
> Looks like it should be "this will not cause any run-time suspend callbacks to
> be called", but not sure.

You're right the wording is not perfect.  The problem is that if it's done
this way without incrementing the usage counter beforehand, the status may
change to "suspended" right before the pm_runtime_set_active() and then the
new status will not reflect the actual state of the device.

So, it may be better to say "Hence disabling runtime PM temporarily like this
will not cause the runtime PM status of the device to conflict with the actual
device state".

Alan, what do you think?

Rafael

  reply	other threads:[~2011-06-28 21:41 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-25 22:54 [PATCH 0/3] PM: Fix up interactions between system suspend/resume and runtime PM Rafael J. Wysocki
2011-06-25 22:55 ` [PATCH 1/3] PM / Runtime: Update documentation of interactions with system sleep Rafael J. Wysocki
2011-06-25 22:58   ` Jesper Juhl
2011-06-26  3:01     ` Alan Stern
2011-06-26 20:12       ` Rafael J. Wysocki
2011-06-25 22:55 ` [PATCH 2/3] PM / Runtime: Return special error code if runtime PM is disabled Rafael J. Wysocki
2011-06-25 22:56 ` [PATCH 3/3] PM: Limit race conditions between runtime PM and system sleep Rafael J. Wysocki
2011-06-26  2:57   ` Alan Stern
2011-06-26 20:21     ` Rafael J. Wysocki
2011-06-28 15:56   ` Ming Lei
2011-06-28 21:42     ` Rafael J. Wysocki [this message]
2011-06-29 14:11       ` Alan Stern
2011-06-29 19:35         ` Rafael J. Wysocki
2011-07-01 16:22   ` Kevin Hilman
2011-07-01 19:50     ` Rafael J. Wysocki
2011-06-29 21:29 ` [PATCH 0/6 v2] PM: Fix up interactions between system suspend/resume and runtime PM Rafael J. Wysocki
2011-06-29 21:31   ` [PATCH 1/6 v2] PM / Runtime: Update documentation of interactions with system sleep Rafael J. Wysocki
2011-06-29 21:32   ` [PATCH 2/6 v2] PM / Runtime: Return special error code if runtime PM is disabled Rafael J. Wysocki
2011-06-29 21:33   ` [PATCH 3/6 v2] PCI / PM: Detect early wakeup in pci_pm_prepare() Rafael J. Wysocki
2011-06-29 21:34   ` [PATCH 4/6 v2] PM: Limit race conditions between runtime PM and system sleep (v2) Rafael J. Wysocki
2011-10-27 13:54     ` Linus Walleij
2011-10-27 20:06       ` Rafael J. Wysocki
2011-10-28 20:00         ` Linus Walleij
2011-11-02 19:14       ` Greg KH
2011-11-02 20:06         ` Linus Walleij
2011-11-02 20:11           ` Greg KH
2011-11-02 21:00             ` Linus Walleij
2011-11-02 21:17               ` Greg KH
2011-11-03  0:28                 ` Rafael J. Wysocki
2011-11-03  1:31                   ` Greg KH
2011-06-29 21:35   ` [PATCH 5/6 v2] PM / Runtime: Improve documentation of enable, disable and barrier Rafael J. Wysocki
2011-06-29 21:35   ` [PATCH 6/6 v2] PM / Runtime: Replace "run-time" with "runtime" in documentation Rafael J. Wysocki

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=201106282342.25003.rjw@sisk.pl \
    --to=rjw@sisk.pl \
    --cc=greg@kroah.com \
    --cc=khilman@ti.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=magnus.damm@gmail.com \
    --cc=stern@rowland.harvard.edu \
    --cc=tj@kernel.org \
    --cc=tom.leiming@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®