Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756649Ab3HaAjn (ORCPT ); Fri, 30 Aug 2013 20:39:43 -0400 Received: from hydra.sisk.pl ([212.160.235.94]:46031 "EHLO hydra.sisk.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754012Ab3HaAjl (ORCPT ); Fri, 30 Aug 2013 20:39:41 -0400 From: "Rafael J. Wysocki" To: Toshi Kani Cc: ACPI Devel Maling List , LKML , Linux PM list , Yasuaki Ishimatsu , linux-mm@kvack.org Subject: Re: [PATCH 3/3] PM / hibernate / memory hotplug: Rework mutual exclusion Date: Sat, 31 Aug 2013 02:50:28 +0200 Message-ID: <10694845.eNMHLsAUoG@vostro.rjw.lan> User-Agent: KMail/4.10.5 (Linux/3.11.0-rc7+; KDE/4.10.5; x86_64; ; ) In-Reply-To: <1377909312.10300.908.camel@misato.fc.hp.com> References: <9589253.Co8jZpnWdd@vostro.rjw.lan> <1984629.rbRksDyNff@vostro.rjw.lan> <1377909312.10300.908.camel@misato.fc.hp.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2621 Lines: 61 On Friday, August 30, 2013 06:35:12 PM Toshi Kani wrote: > On Sat, 2013-08-31 at 02:39 +0200, Rafael J. Wysocki wrote: > > On Friday, August 30, 2013 06:23:19 PM Toshi Kani wrote: > > > On Thu, 2013-08-29 at 23:18 +0200, Rafael J. Wysocki wrote: > > > > From: Rafael J. Wysocki > > > > > > > > Since all of the memory hotplug operations have to be carried out > > > > under device_hotplug_lock, they won't need to acquire pm_mutex if > > > > device_hotplug_lock is held around hibernation. > > > > > > > > For this reason, make the hibernation code acquire > > > > device_hotplug_lock after freezing user space processes and > > > > release it before thawing them. At the same tim drop the > > > > lock_system_sleep() and unlock_system_sleep() calls from > > > > lock_memory_hotplug() and unlock_memory_hotplug(), respectively. > > > > > > > > Signed-off-by: Rafael J. Wysocki > > > > --- > > > > kernel/power/hibernate.c | 4 ++++ > > > > kernel/power/user.c | 2 ++ > > > > mm/memory_hotplug.c | 4 ---- > > > > 3 files changed, 6 insertions(+), 4 deletions(-) > > > > > > > > Index: linux-pm/kernel/power/hibernate.c > > > > =================================================================== > > > > --- linux-pm.orig/kernel/power/hibernate.c > > > > +++ linux-pm/kernel/power/hibernate.c > > > > @@ -652,6 +652,7 @@ int hibernate(void) > > > > if (error) > > > > goto Exit; > > > > > > > > + lock_device_hotplug(); > > > > > > Since hibernate() can be called from sysfs, do you think the tool may > > > see this as a circular dependency with p_active again? This shouldn't > > > be a problem in practice, though. > > > > /sys/power/state isn't a device attribute even and is never removed, so it > > would be very sad and disappointing if lockdep reported that as a circular > > dependency. The deadlock is surely not possible here anyway. > > Agreed. The code looks good otherwise, and this is a nice cleanup. If > it is OK to ignore the possible warning from the tool (which I do not > know the rule here), Well, if it complains, we'll just need to add some annotations to this. The code is correct I believe. > feel free to add my ack to patch 2/3 and 3/3 as well. I will, thanks! -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. -- 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/