[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.44L0.0912082105100.26994-100000@netrider.rowland.org>
Date: Tue, 8 Dec 2009 21:11:30 -0500 (EST)
From: Alan Stern <stern@...land.harvard.edu>
To: Linus Torvalds <torvalds@...ux-foundation.org>
cc: "Rafael J. Wysocki" <rjw@...k.pl>, Zhang Rui <rui.zhang@...el.com>,
LKML <linux-kernel@...r.kernel.org>,
ACPI Devel Maling List <linux-acpi@...r.kernel.org>,
pm list <linux-pm@...ts.linux-foundation.org>
Subject: Re: Async resume patch (was: Re: [GIT PULL] PM updates for 2.6.33)
On Tue, 8 Dec 2009, Linus Torvalds wrote:
> On Tue, 8 Dec 2009, Alan Stern wrote:
> >
> > And likewise in try_wait_for_completion(). It looks like a bug. Maybe
> > these routines were not intended to be called with interrupts disabled,
> > but that requirement doesn't seem to be documented. And it isn't a
> > natural requirement anyway.
>
> 'complete()' is supposed to be callable from interrupts, but the waiting
> ones aren't. But 'complete()' is all you should need to call from
> interrupts, so that's fine.
And try_wait_for_completion()? The fact that it doesn't block makes it
interrupt-safe. What's the point of having an interrupt-safe routine
that you can't call from within interrupt handlers?
Even if nobody uses it that way now, there's no guarantee somebody
won't attempt it in the future.
> So I think completions should work, if done right. That whole "make the
> parent wait for all the children to complete" is fine in that sense. And
> I'll happily take such an approach if my rwlock thing doesn't work.
In principle the two approaches could be combined: Add an rwsem for use
by children and a completion for off-tree[*] use. But that would
certainly be overkill. Looping over children doesn't take a
tremendous amount of time compared to a full system suspend.
Alan Stern
[*] "Off-tree" isn't really an appropriate term; these devices aren't
"off" the tree. "Non-tree" would be better.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists