From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Rafael J. Wysocki" Subject: Re: [RFC][PATCH 2/2] PM: Rework handling of interrupts during suspend-resume Date: Mon, 23 Feb 2009 23:11:34 +0100 Message-ID: <200902232311.36133.rjw__22838.4952912622$1235427453$gmane$org@sisk.pl> References: <200902221837.49396.rjw@sisk.pl> <20090223171630.GA28651@elte.hu> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-pm-bounces@lists.linux-foundation.org Errors-To: linux-pm-bounces@lists.linux-foundation.org To: Linus Torvalds Cc: Jeremy Fitzhardinge , LKML , Jesse Barnes , Thomas Gleixner , "Eric W. Biederman" , pm list , Ingo Molnar , Johannes Berg List-Id: linux-pm@vger.kernel.org On Monday 23 February 2009, Linus Torvalds wrote: > > On Mon, 23 Feb 2009, Ingo Molnar wrote: > > > > Linus, do you have a strong opinion about which variant we > > should use? > > Strong? No. I think mine is better just because _if_ another CPU is busy > handling an interrupt that we're just now disabling, we'll just go on to > the next interrupt. Waiting for them all at the end is always more > efficient. > > But does it really matter? No. In this case I think we've shut down all > other CPU's anyway, so the whole "serialize_irq()" should probably not > even be needed. But we're going to move the shutting down of the other CPUs after this point. Finally, the sequence is going to be: - "normal" suspend of devices - disable device interrupts - "late" suspend of devices - _PTS - disable nonboot CPUs - local_irq_disable - sysdev_suspend [This is because ACPI wants us to put devices into low power states before doing the _PTS, which in turn is supposed to be done before the disabling of nonboot CPUs, and we want to put devices into low power states during "late" suspend. Of course, analogously for the resume part.] So, I think your version is _really_ better. :-) Thanks, Rafael