From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexey Starikovskiy Subject: Re: [linux-pm] [RFC] ACPI vs device ordering on resume Date: Fri, 01 Dec 2006 21:42:44 +0300 Message-ID: <457077A4.6090908@linux.intel.com> References: <20061114153026.730deb94@freekitty> <200611150203.30965.len.brown@intel.com> <20061201093301.GA1842@elf.ucw.cz> <45706A4F.6090200@linux.intel.com> <20061201104040.7e936bb9@freekitty> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from mga06.intel.com ([134.134.136.21]:36487 "EHLO orsmga101.jf.intel.com") by vger.kernel.org with ESMTP id S1031732AbWLASmu (ORCPT ); Fri, 1 Dec 2006 13:42:50 -0500 In-Reply-To: <20061201104040.7e936bb9@freekitty> Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: Stephen Hemminger Cc: Linus Torvalds , Pavel Machek , Andrew Morton , linux-acpi@vger.kernel.org, linux-pm@osdl.org Stephen Hemminger wrote: > On Fri, 01 Dec 2006 20:45:51 +0300 > Alexey Starikovskiy wrote: > > >> Linus Torvalds wrote: >> >>> On Fri, 1 Dec 2006, Pavel Machek wrote: >>> >>> >>> >>>>>> So it looks like we need this sequence: >>>>>> >>>>>> enable_nonboot_cpus() /* INIT */ >>>>>> finish() /* _WAK */ >>>>>> device_resume() >>>>>> >>>>>> >>>>> Can somebody remind me about this immediately after 2.6.19? >>>>> >>>>> >>>> Remind. But note that freezer is not yet SMP safe... Rafael is working >>>> on that. >>>> >>>> >>> Thanks. >>> >>> On the other hand, I really wonder (and suspect) whether the problem isn't >>> really the freezer or even the kernel resume ordering, but simply an ACPI >>> internal resume ordering thing. >>> >>> Doesn't ACPI have per-device "WAK" calls anyway? Shouldn't we just call >>> those _individually_ as we walk the device tree (perhaps in the >>> "early_resume" stage) rather than calling them all in one chunk? >>> >>> Linus >>> >>> >> _WAK method is system-wide. Individual objects do not have their own >> resume methods. >> One way of reordering internal ACPI resume is done in patch series to >> 7122, I mentioned that earlier. >> It's possible to resume ACPI devices after execution of _WAK in pm->finish. >> > > Does it solve the original problem where finish() was getting run after > device_resume(), and finish() was corrupting PCI register settings like > MSI? > > No, only the case with ACPI devices... all other devices are untouched.