From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Rafael J. Wysocki" Subject: Re: [linux-pm] Resume from Memory very slow on 2.6.37+ Date: Wed, 19 Jan 2011 02:38:18 +0100 Message-ID: <201101190238.18529.rjw@sisk.pl> References: <201101182120.16835.rjw@sisk.pl> Mime-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Return-path: Received: from ogre.sisk.pl ([217.79.144.158]:52838 "EHLO ogre.sisk.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753297Ab1ASBjX (ORCPT ); Tue, 18 Jan 2011 20:39:23 -0500 In-Reply-To: Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: Jeff Chua Cc: Len Brown , linux-pm@lists.linux-foundation.org, Jack Steiner , Linus Torvalds , ACPI Devel Maling List On Wednesday, January 19, 2011, Jeff Chua wrote: > On Wed, Jan 19, 2011 at 4:20 AM, Rafael J. Wysocki wrote: > > Please apply the appended patch (without the previous one) and post a dmesg > > log containing a suspend-resume cycle with the delay. I wonder where exactly > > the delay occurs. > > + pr_info("%s: synchronize_rcu()\n", __func__); > > synchronize_rcu(); > > + pr_info("%s: iounmap(%p), physaddr: %llx, size: %u\n", __func__, > > + map->virt, map->phys, map->size); > > Rafael, > > The 30 seconds is due to this ... > > PM: Syncing filesystems ... done. > Freezing user space processes ... _memory: synchronize_rcu() > acpi_os_unmap_memory: iounmap(ffffc90001c22000), physaddr: bb398000, size: 4096 > acpi_os_unmap_memory: synchronize_rcu() > acpi_os_unmap_memory: iounmap(ffffc90001c26000), physaddr: bb399000, size: 4096 > acpi_os_unmap_memory: synchronize_rcu() > acpi_os_unmap_memory: iounmap(ffffc90001c2a000), physaddr: bb39a000, size: 4096 > acpi_os_unmap_memory: synchronize_rcu() > acpi_os_unmap_memory: iounmap(ffffc90001c2e000), physaddr: bb39b000, size: 4096 > > acpi_os_unmap_memory: iounmap(ffffc90003538000), physaddr: bb79d000, size: 4096 > acpi_os_unmap_memory: synchronize_rcu() > acpi_os_unmap_memory: iounmap(ffffc9000353c000), physaddr: bb79e000, size: 4096 > Restarting tasks ... done. > > After this, I see my X windows. Are you able to say whether the synchronize_rcu() or the iounmap() calls block? Rafael