From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Ming Lei <tom.leiming@gmail.com>
Cc: Linux PM mailing list <linux-pm@lists.linux-foundation.org>,
LKML <linux-kernel@vger.kernel.org>,
"Linux-sh list" <linux-sh@vger.kernel.org>,
Magnus Damm <magnus.damm@gmail.com>,
Kevin Hilman <khilman@ti.com>,
jean.pihet@newoldbits.com
Subject: Re: [PATCH 2/5] PM / Runtime: Do not run callbacks under lock for power.irq_safe set
Date: Tue, 13 Sep 2011 18:06:38 +0200 [thread overview]
Message-ID: <201109131806.39050.rjw@sisk.pl> (raw)
In-Reply-To: <CACVXFVN5E6pToFk_nn0xgNrUW-DQzVssmPFDpHckSaHSRwWjoQ@mail.gmail.com>
On Tuesday, September 13, 2011, Ming Lei wrote:
> Hi,
>
> On Tue, Sep 13, 2011 at 5:44 AM, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> > Hi,
> >
> > On Monday, September 12, 2011, Ming Lei wrote:
> >
> >> Hi,
> >
> >>
> >
> >> On Wed, Aug 31, 2011 at 6:20 AM, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> >
> >> > From: Rafael J. Wysocki <rjw@sisk.pl>
> >
> >> >
> >
> >> > The rpm_suspend() and rpm_resume() routines execute subsystem or PM
> >
> >> > domain callbacks under power.lock if power.irq_safe is set for the
> >
> >> > given device. This is inconsistent with that rpm_idle() does after
> >
> >> > commit 02b2677 (PM / Runtime: Allow _put_sync() from
> >
> >> > interrupts-disabled context) and is problematic for subsystems and PM
> >
> >> > domains wanting to use power.lock for synchronization in their
> >
> >> > runtime PM callbacks. For this reason, make runtime PM core functions
> >
> >> > always release power.lock before invoking subsystem or PM domain
> >
> >>
> >
> >> If power.lock is released, the transition states(resuming or suspending)
> >
> >> may be observed in rpm_suspend or rpm_resume, then tasks schedule
> >
> >> will be produced in these two functions,
> >
> > I don't think so, because the interrupts are still off.
>
> Yes, the interrupts are still off on local CPU, but the release of spin lock may
> cause another CPUs to run into rpm_suspend or rpm_resume and produce
> task schedule inside the two functions.
Not for the same device, though.
Also, I'm not quite sure what scenario exactly are you referring to.
Could you please give an example?
Thanks,
Rafael
next prev parent reply other threads:[~2011-09-13 16:04 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-30 22:17 [PATCH 0/5] PM: Generic PM domains and device PM QoS Rafael J. Wysocki
2011-08-30 22:18 ` [PATCH 1/5] PM / Domains: Split device PM domain data into base and need_restore Rafael J. Wysocki
2011-08-30 22:20 ` [PATCH 2/5] PM / Runtime: Do not run callbacks under lock for power.irq_safe set Rafael J. Wysocki
2011-09-12 8:26 ` Ming Lei
2011-09-12 21:52 ` Rafael J. Wysocki
[not found] ` <201109122344.02386.rjw@sisk.pl>
2011-09-13 1:22 ` Ming Lei
2011-09-13 16:06 ` Rafael J. Wysocki [this message]
2011-09-14 1:12 ` Ming Lei
2011-09-14 20:45 ` Rafael J. Wysocki
2011-09-15 10:55 ` Ming Lei
2011-08-30 22:21 ` [PATCH 3/5] PM / QoS: Add function dev_pm_qos_read_value() Rafael J. Wysocki
2011-09-01 15:13 ` Jean Pihet
2011-09-01 22:07 ` Rafael J. Wysocki
2011-09-02 6:49 ` Jean Pihet
2011-09-02 23:55 ` Rafael J. Wysocki
2011-09-03 8:02 ` Rafael J. Wysocki
2011-09-05 7:51 ` Jean Pihet
2011-09-05 15:30 ` Rafael J. Wysocki
2011-09-05 7:44 ` Jean Pihet
2011-08-30 22:21 ` [RFC][PATCH 4/5] PM / Domains: Add device stop governor function Rafael J. Wysocki
2011-08-30 22:22 ` [RFC][PATCH 5/5] PM / Domains: Add default power off " Rafael J. Wysocki
2011-09-01 15:17 ` Jean Pihet
2011-09-01 22:11 ` Rafael J. Wysocki
2011-09-01 15:28 ` [PATCH 0/5] PM: Generic PM domains and device PM QoS Jean Pihet
2011-09-01 22:14 ` Rafael J. Wysocki
2011-09-24 21:23 ` [PATCH 0/3] PM: Runtime PM and device PM QoS refinements Rafael J. Wysocki
2011-09-24 21:24 ` [PATCH 1/3] PM / Domains: Split device PM domain data into base and need_restore Rafael J. Wysocki
2011-09-24 21:25 ` [PATCH 2/3] PM / Runtime: Don't run callbacks under lock for power.irq_safe set Rafael J. Wysocki
2011-09-25 8:24 ` Ming Lei
2011-09-26 23:59 ` Kevin Hilman
2011-09-27 17:16 ` Rafael J. Wysocki
2011-09-27 19:50 ` Rafael J. Wysocki
2011-09-29 0:17 ` Kevin Hilman
2011-09-24 21:26 ` [PATCH 3/3] PM / QoS: Add function dev_pm_qos_read_value() (v2) Rafael J. Wysocki
2011-09-29 8:11 ` Jean Pihet
2011-09-29 20:33 ` Rafael J. Wysocki
2011-09-30 8:08 ` Jean Pihet
2011-09-30 16:46 ` 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=201109131806.39050.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=jean.pihet@newoldbits.com \
--cc=khilman@ti.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=linux-sh@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--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®