From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Johannes Berg <johannes@sipsolutions.net>,
Greg KH <gregkh@suse.de>,
Andrew Morton <akpm@linux-foundation.org>,
Len Brown <lenb@kernel.org>, Ingo Molnar <mingo@elte.hu>,
ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
pm list <linux-pm@lists.linux-foundation.org>
Subject: Re: [PATCH] PM: Acquire device locks on suspend
Date: Wed, 9 Jan 2008 23:14:48 +0100 [thread overview]
Message-ID: <200801092314.49286.rjw@sisk.pl> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0801091543300.2856-100000@iolanthe.rowland.org>
On Wednesday, 9 of January 2008, Alan Stern wrote:
> On Tue, 8 Jan 2008, Rafael J. Wysocki wrote:
>
> > Appended is what I managed to put together today.
> >
> > It probably still has some problems, but I'm not seeing them right now (too
> > tired). At least, it doesn't break my system. ;-)
> >
> > Please review.
>
> Okay, this seems to be better. I like the way the complicated tests
> are all localized in power/main.c.
>
> In dpm_resume() you shouldn't need to use dpm_list_mtx at all, because
> the list_move_tail() comes before the resume_device(). It's the same
> as in dpm_power_up().
Still, device_pm_schedule_removal() can (in theory) be called concurrently
with dpm_resume() by another thread and this might corrupt the list without
the locking.
> The same is true for dpm_suspend(). Once all the device have been
> locked, there shouldn't be any other tasks accessing the dpm lists.
> Hence there should be no need to protect the list.
Except for against theoretical races with device_pm_schedule_removal().
> Which reminds me, the kerneldoc for device_pm_schedule_removal() is
> inaccurate. The routine always just moves the device to dpm_destroy
> list for later processing.
Correct.
> Also, the kerneldoc for destroy_suspended_device() should contain an
> extra paragraph warning that the routine should never be called except
> within the scope of a system sleep transition. In practice this means
> it has to be directly or indirectly invoked by a suspend or resume
> method.
Or by a CPU hotplug notifier (that will be the majority of cases, IMO).
> It looks good.
Thanks for the review.
I'll fix the comments and repost the patch from scratch for merging in a
separate thread.
Greetings,
Rafael
next prev parent reply other threads:[~2008-01-09 22:12 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-05 18:36 [PATCH] PM: Acquire device locks on suspend Rafael J. Wysocki
2008-01-05 20:08 ` Alan Stern
2008-01-05 20:19 ` Rafael J. Wysocki
2008-01-05 20:19 ` Rafael J. Wysocki
2008-01-05 20:39 ` Alan Stern
2008-01-05 21:13 ` Rafael J. Wysocki
2008-01-05 21:41 ` Alan Stern
2008-01-05 21:58 ` Rafael J. Wysocki
2008-01-06 4:04 ` Alan Stern
2008-01-06 4:04 ` Alan Stern
2008-01-06 13:19 ` Rafael J. Wysocki
2008-01-06 17:06 ` Alan Stern
2008-01-06 17:06 ` Alan Stern
2008-01-06 19:05 ` Rafael J. Wysocki
2008-01-06 19:05 ` Rafael J. Wysocki
2008-01-06 19:57 ` Rafael J. Wysocki
2008-01-06 22:19 ` Rafael J. Wysocki
2008-01-06 22:19 ` Rafael J. Wysocki
2008-01-06 22:21 ` Alan Stern
2008-01-06 22:21 ` Alan Stern
2008-01-06 22:34 ` Rafael J. Wysocki
2008-01-06 22:39 ` Alan Stern
2008-01-06 22:47 ` Rafael J. Wysocki
2008-01-06 22:47 ` Rafael J. Wysocki
2008-01-06 23:46 ` Johannes Berg
[not found] ` <49505.::ffff:91.5.86.36.1199663162.squirrel@secure.sipsolutions.net>
2008-01-06 23:59 ` [linux-pm] " Rafael J. Wysocki
2008-01-07 0:49 ` Rafael J. Wysocki
2008-01-07 0:49 ` Rafael J. Wysocki
2008-01-06 23:59 ` Rafael J. Wysocki
2008-01-07 16:16 ` Alan Stern
2008-01-07 16:16 ` Alan Stern
2008-01-07 16:51 ` Rafael J. Wysocki
2008-01-07 16:51 ` Rafael J. Wysocki
2008-01-07 17:23 ` Alan Stern
2008-01-07 18:01 ` Rafael J. Wysocki
2008-01-07 18:01 ` Rafael J. Wysocki
2008-01-07 19:29 ` Alan Stern
2008-01-07 19:29 ` Alan Stern
2008-01-07 20:37 ` Rafael J. Wysocki
2008-01-07 21:32 ` Alan Stern
2008-01-07 21:32 ` Alan Stern
2008-01-08 0:25 ` Rafael J. Wysocki
2008-01-09 21:01 ` Alan Stern
2008-01-09 21:01 ` Alan Stern
2008-01-09 22:14 ` Rafael J. Wysocki
2008-01-09 22:14 ` Rafael J. Wysocki [this message]
2008-01-09 22:46 ` Alan Stern
2008-01-09 22:46 ` Alan Stern
2008-01-09 23:29 ` Rafael J. Wysocki
2008-01-10 15:35 ` Alan Stern
2008-01-10 16:59 ` Rafael J. Wysocki
2008-01-10 16:59 ` Rafael J. Wysocki
2008-01-10 17:04 ` Alan Stern
2008-01-10 17:04 ` Alan Stern
2008-01-10 15:35 ` Alan Stern
2008-01-09 23:29 ` Rafael J. Wysocki
2008-01-08 0:25 ` Rafael J. Wysocki
2008-01-07 20:37 ` Rafael J. Wysocki
2008-01-07 17:23 ` Alan Stern
2008-01-06 22:39 ` Alan Stern
2008-01-06 22:34 ` Rafael J. Wysocki
2008-01-06 19:57 ` Rafael J. Wysocki
2008-01-06 22:11 ` Alan Stern
2008-01-06 22:11 ` Alan Stern
2008-01-06 22:24 ` Rafael J. Wysocki
2008-01-06 22:31 ` Alan Stern
2008-01-06 22:31 ` Alan Stern
2008-01-06 22:24 ` Rafael J. Wysocki
2008-01-06 13:19 ` Rafael J. Wysocki
2008-01-05 21:58 ` Rafael J. Wysocki
2008-01-05 21:41 ` Alan Stern
2008-01-05 21:13 ` Rafael J. Wysocki
2008-01-05 20:39 ` Alan Stern
2008-01-05 20:08 ` Alan Stern
-- strict thread matches above, loose matches on Subject: below --
2008-01-05 18:36 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=200801092314.49286.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=akpm@linux-foundation.org \
--cc=gregkh@suse.de \
--cc=johannes@sipsolutions.net \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=mingo@elte.hu \
--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 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.