From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Zhang Rui <rui.zhang@intel.com>
Cc: Alan Stern <stern@rowland.harvard.edu>,
"linux-pm" <linux-pm@lists.linux-foundation.org>,
"linux-acpi" <linux-acpi@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Len Brown <lenb@kernel.org>,
Arjan van de Ven <arjan@linux.intel.com>,
Greg KH <gregkh@suse.de>
Subject: Re: [RFC][PATCH 0/7] PM: Asynchronous suspend and resume (updated)
Date: Wed, 19 Aug 2009 23:02:31 +0200 [thread overview]
Message-ID: <200908192302.31453.rjw@sisk.pl> (raw)
In-Reply-To: <1250643929.17853.11.camel@rzhang-dt>
On Wednesday 19 August 2009, Zhang Rui wrote:
> On Wed, 2009-08-19 at 07:58 +0800, Rafael J. Wysocki wrote:
> > On Tuesday 18 August 2009, Rafael J. Wysocki wrote:
> > > On Tuesday 18 August 2009, Zhang Rui wrote:
> > > > On Mon, 2009-08-17 at 08:15 +0800, Rafael J. Wysocki wrote:
> > > > > On Wednesday 12 August 2009, Rafael J. Wysocki wrote:
> > > > > > Hi,
> > > > > >
> > > > > > The following patches introduce a mechanism allowing us to execute device
> > > > > > drivers' suspend and resume callbacks asynchronously during system sleep
> > > > > > transitions, such as suspend to RAM. The idea is explained in the [1/1] patch
> > > > > > message.
> > > > >
> > > > > Changes:
> > > > >
> > > > > * Added [1/7] that fixes kerneldoc comments in drivers/base/power/main.c
> > > > > (this is a 2.6.32 candidate).
> > > > >
> > > > > * Added [2/7] adding a framework for representing PM link (idea described
> > > > > in the patch message).
> > > > >
> > > > > * [3/7] is the async resume patch (idea described in the patch message).
> > > > >
> > > > > * [4/7] is the async suspend patch.
> > > > >
> > > > > * [5/7] - [7/7] set async_suspend for devices in a few selected subsystems.
> > > > >
> > > > > The patches have been tested on HP nx6325.
> > > > >
> > > > I tried this patch set and it does work. :)
> > > > But unfortunately it doesn't save too much time.
> > > >
> > > > I still think that the child device should inherit its parent's
> > > > async_suspend flag to do the asynchronous resume more efficiently.
> > > >
> > > > or at least we should provide such an interface
> > > > in drivers/base/power/common.c, so that device can tell the device core
> > > > to inherit this flag if there is no off-tree dependency.
> > >
> > > Well, I'd prefer to identify all of the off-tree dependencies that have to be
> > > taken into account and handle all devices asynchronously.
> >
> > Anyway, I have tested the appended patch on top of [1/7]-[7/7] and my test box
> > appears to work fine with it, although it doesn't work in the "async for all"
> > case.
> >
> > I guess the next step will be to see which devices are not handled
> > asynchronously with the patch below and try to figure out which of them
> > break(s) things.
> >
> > Thanks,
> > Rafael
> >
> > ---
> > drivers/base/power/common.c | 6 +++++-
> > 1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > Index: linux-2.6/drivers/base/power/common.c
> > ===================================================================
> > --- linux-2.6.orig/drivers/base/power/common.c
> > +++ linux-2.6/drivers/base/power/common.c
> > @@ -32,7 +32,11 @@ void device_pm_add(struct device *dev)
> > pr_debug("PM: Adding info for %s:%s\n",
> > dev->bus ? dev->bus->name : "No Bus",
> > kobject_name(&dev->kobj));
> > - pm_link_add(dev, dev->parent);
> > + if (dev->parent) {
> > + pm_link_add(dev, dev->parent);
> > + if (dev->parent->power.async_suspend)
> > + dev->power.async_suspend = true;
> > + }
>
> to use this, we must make sure that device_enable_async_suspend is
> called before any of its child device being registered, right?
> should we check this in device_enable_async_suspend?
> or at least we should add the comments stating this issue.
That's correct in general, but I added the patch for testing purposes only.
The goal still is to identify all of the dependencies that need to be taken
care of and to represent them appropriately, so that we can safely set
async_suspend for all devices.
I wonder if you get any improvement with this patch applied?
Thanks,
Rafael
next prev parent reply other threads:[~2009-08-19 21:01 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-12 20:18 [RFC][PATCH 0/3] PM: Asynchronous suspend and resume Rafael J. Wysocki
2009-08-12 20:20 ` [RFC][PATCH 1/3] PM: Asynchronous resume of devices Rafael J. Wysocki
2009-08-14 16:33 ` Pavel Machek
2009-08-15 20:59 ` Rafael J. Wysocki
2009-08-22 9:24 ` Pavel Machek
2009-08-22 21:45 ` Rafael J. Wysocki
2009-08-12 20:21 ` [RFC][PATCH 2/3] PM: Asynchronous suspend " Rafael J. Wysocki
2009-08-14 16:35 ` Pavel Machek
2009-08-15 21:04 ` Rafael J. Wysocki
2009-08-22 9:25 ` Pavel Machek
2009-08-22 21:46 ` Rafael J. Wysocki
2009-08-12 20:22 ` [RFC][PATCH 3/3] PM: Asynchronous suspend and resume for ACPI battery Rafael J. Wysocki
2009-08-12 21:12 ` [RFC][PATCH 0/3] PM: Asynchronous suspend and resume Alan Stern
2009-08-12 21:43 ` Rafael J. Wysocki
2009-08-13 8:18 ` Zhang Rui
2009-08-13 18:08 ` Rafael J. Wysocki
2009-08-14 3:24 ` Zhang Rui
2009-08-14 11:58 ` Rafael J. Wysocki
2009-08-13 14:45 ` Alan Stern
2009-08-13 18:28 ` Rafael J. Wysocki
2009-08-13 18:39 ` Alan Stern
2009-08-13 21:10 ` Rafael J. Wysocki
2009-08-13 21:53 ` Rafael J. Wysocki
2009-08-14 14:45 ` Alan Stern
2009-08-14 19:12 ` Rafael J. Wysocki
2009-08-14 21:21 ` Alan Stern
2009-08-14 21:31 ` Rafael J. Wysocki
2009-08-14 21:37 ` Alan Stern
2009-08-16 10:29 ` [linux-pm] " Rafael J. Wysocki
2009-08-14 16:33 ` Pavel Machek
2009-08-15 21:00 ` Rafael J. Wysocki
2009-08-17 0:15 ` [RFC][PATCH 0/7] PM: Asynchronous suspend and resume (updated) Rafael J. Wysocki
2009-08-17 0:16 ` [RFC][PATCH 1/7] PM: Update kerneldoc comments in drivers/base/power/main.c Rafael J. Wysocki
2009-08-19 21:57 ` Rafael J. Wysocki
2009-08-19 22:00 ` Randy Dunlap
2009-08-19 22:06 ` Greg KH
2009-08-19 22:28 ` Alan Stern
2009-08-19 23:14 ` Rafael J. Wysocki
2009-08-20 14:00 ` Alan Stern
2009-08-26 15:44 ` Pavel Machek
2009-08-17 0:17 ` [RFC][PATCH 2/7] PM: Framework for representing PM links between devices Rafael J. Wysocki
2009-08-21 22:27 ` [RFC][PATCH 2/7 update] " Rafael J. Wysocki
2009-08-17 0:18 ` [RFC][PATCH 3/7] PM: Asynchronous resume of I/O devices Rafael J. Wysocki
2009-08-23 22:09 ` [RFC][PATCH 3/7 updated] " Rafael J. Wysocki
2009-08-17 0:19 ` [RFC][PATCH 4/7] PM: Asynchronous suspend " Rafael J. Wysocki
2009-08-17 0:20 ` [RFC][PATCH 5/7] PM: Asynchronous suspend and resume of PCI devices Rafael J. Wysocki
2009-08-18 6:57 ` Zhang Rui
2009-08-18 13:47 ` Alan Stern
2009-08-17 0:20 ` [RFC][PATCH 6/7] PM: Asynchronous suspend and resume of ACPI devices Rafael J. Wysocki
2009-08-17 0:21 ` [RFC][PATCH 7/7] PM: Asynchronous suspend and resume of i8042 Rafael J. Wysocki
2009-08-18 7:03 ` Zhang Rui
2009-08-18 19:57 ` Rafael J. Wysocki
2009-08-18 23:40 ` Rafael J. Wysocki
2009-08-26 15:43 ` Pavel Machek
2009-08-18 1:59 ` [RFC][PATCH 0/7] PM: Asynchronous suspend and resume (updated) Zhang Rui
2009-08-18 7:16 ` Zhang Rui
2009-08-18 20:01 ` Rafael J. Wysocki
2009-08-18 23:58 ` Rafael J. Wysocki
2009-08-19 1:05 ` Zhang Rui
2009-08-19 21:02 ` Rafael J. Wysocki [this message]
2009-08-21 7:40 ` Zhang Rui
2009-08-26 15:44 ` Pavel Machek
2009-08-18 14:04 ` Alan Stern
2009-08-18 19:56 ` Rafael J. Wysocki
2009-08-18 20:22 ` Alan Stern
2009-08-18 22:33 ` Rafael J. Wysocki
2009-08-19 14:07 ` Alan Stern
2009-08-19 21:17 ` Rafael J. Wysocki
2009-08-19 22:34 ` Alan Stern
2009-08-20 15:56 ` Rafael J. Wysocki
2009-08-26 13:20 ` Pavel Machek
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=200908192302.31453.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=arjan@linux.intel.com \
--cc=gregkh@suse.de \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=rui.zhang@intel.com \
--cc=stern@rowland.harvard.edu \
/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