LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: pm list <linux-pm@lists.linux-foundation.org>,
	Alexey Starikovskiy <astarikovskiy@suse.de>,
	Pavel Machek <pavel@ucw.cz>, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [RFC][PATCH] PM: Make PM core handle device registrations concurrent with suspend/hibernation
Date: Thu, 6 Mar 2008 21:18:32 +0100	[thread overview]
Message-ID: <200803062118.32860.rjw@sisk.pl> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0803061233460.7892-100000@iolanthe.rowland.org>

On Thursday, 6 of March 2008, Alan Stern wrote:
> On Thu, 6 Mar 2008, Rafael J. Wysocki wrote:
> 
> > > I thought of one more thing you might want to add: device_pm_add() 
> > > doesn't handle the case where dev->parent is NULL.
> > 
> > I'm not sure what you mean.
> > 
> > If dev->parent is NULL, we get into the "successful" branch where the device is
> > added to dpm_active.  Do you think we should add any extra handling of this
> > case?
> 
> If a device is registered after dpm_suspend() has returned, the
> device won't be suspended properly before the system goes to sleep.  
> 
> If the device has a parent then you're okay, because the parent must
> already be suspended and so device_pm_add() will fail.  But if the
> device doesn't have a parent then device_pm_add() will succeed, which
> you don't want.

Well, can it happen in practice?  If it can, then what way can it happen?

> > > You could put in that static "all_devices_sleeping" flag, which gets set at
> > > the end of dpm_suspend() and cleared at the start of dpm_resume().
> > 
> > Well, I don't think it's necessary.  dpm_active is empty in that case and
> > we can use the list_empty(&dpm_active) check instead.
> 
> What would happen the very first time the system registers a device 
> during startup?

For any other uses than in device_pm_add(), the list_empty(&dpm_active) test
should be sufficient, IMHO.

It seems to me that we're discussing purely academic stuff here.  If it turns
out to be of any practical relevance, it will be trivial to add the handling of
it in the future.

Thanks,
Rafael

  reply	other threads:[~2008-03-06 20:20 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-03 23:10 Rafael J. Wysocki
2008-03-04 16:01 ` Alan Stern
2008-03-04 21:52   ` Rafael J. Wysocki
2008-03-05 16:03     ` Alan Stern
2008-03-05 16:16       ` Cornelia Huck
2008-03-05  1:15   ` Rafael J. Wysocki
2008-03-05 16:27     ` Alan Stern
2008-03-05 21:49       ` Rafael J. Wysocki
2008-03-05 22:00         ` Alan Stern
2008-03-05 23:24           ` Rafael J. Wysocki
2008-03-06 15:26             ` Alan Stern
2008-03-06 16:26               ` Rafael J. Wysocki
2008-03-06 17:40                 ` Alan Stern
2008-03-06 20:18                   ` Rafael J. Wysocki [this message]
2008-03-06 20:28                     ` Alan Stern
2008-03-06 21:28                       ` Rafael J. Wysocki
2008-03-06 21:58                         ` Alan Stern
2008-03-06 22:30                           ` 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=200803062118.32860.rjw@sisk.pl \
    --to=rjw@sisk.pl \
    --cc=astarikovskiy@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=pavel@ucw.cz \
    --cc=stern@rowland.harvard.edu \
    --subject='Re: [RFC][PATCH] PM: Make PM core handle device registrations concurrent with suspend/hibernation' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).