Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755713AbYCYNhc (ORCPT ); Tue, 25 Mar 2008 09:37:32 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754309AbYCYNhX (ORCPT ); Tue, 25 Mar 2008 09:37:23 -0400 Received: from smtp-out002.kontent.com ([81.88.40.216]:48001 "EHLO smtp-out002.kontent.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753985AbYCYNhW convert rfc822-to-8bit (ORCPT ); Tue, 25 Mar 2008 09:37:22 -0400 From: Oliver Neukum Organization: Novell To: "Rafael J. Wysocki" Subject: Re: [RFC][PATCH] PM: Introduce new top level suspend and hibernation callbacks (rev. 3) Date: Tue, 25 Mar 2008 14:37:16 +0100 User-Agent: KMail/1.9.6 (enterprise 20070904.708012) Cc: Alan Stern , pm list , ACPI Devel Maling List , Greg KH , Len Brown , LKML , Alexey Starikovskiy , David Brownell , Pavel Machek , Benjamin Herrenschmidt References: <200803251255.31482.oliver@neukum.org> <200803251340.55210.rjw@sisk.pl> In-Reply-To: <200803251340.55210.rjw@sisk.pl> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8BIT Content-Disposition: inline Message-Id: <200803251437.17268.oliver@neukum.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1967 Lines: 45 Am Dienstag, 25. M?rz 2008 13:40:53 schrieb Rafael J. Wysocki: > On Tuesday, 25 of March 2008, Oliver Neukum wrote: > > Am Montag 24 M?rz 2008 schrieb Rafael J. Wysocki: > > > + *?????after @prepare() returns. ?If @prepare() detects a situation it cannot > > > + *?????handle (e.g. registration of a child already in progress), it may return > > > + *?????-EAGAIN, so that the PM core can execute it once again (e.g. after the > > > + *?????new child has been registered) to recover from the race condition. This > > > + *?????method is executed for all kinds of suspend transitions and is followed > > > + *?????by one of the suspend callbacks: @suspend(), @freeze(), or @poweroff(). > > > > This could be understood so that disconnect() cannot be called. > > At what time exactly? I see no locking that would would prevent disconnect() in the window between prepare() and suspend()/... > > > + *?????The PM core executes @prepare() for all devices before starting to > > > + *?????execute suspend callbacks for any of them, so drivers may assume all of > > > + *?????the other devices to be present and functional while @prepare() is being > > > + *?????executed. ?However, they may NOT assume anything about the availability > > > + *?????of the user space at that time. > > > > Probably it should be mentioned that this is the time to allocate memory > > if you have to. > > Well, not exactly. Afterwards you cannot use GFP_KERNEL allocations, but > GFP_NOIO should still work, although for hibernation it's quite possible that > they'll fail if substantial amounts of memory are requested. > > > And it is too late to request firmware. > > Yes. This is better documented explicitly. Regards Oliver -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/