Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752137Ab0G3EqP (ORCPT ); Fri, 30 Jul 2010 00:46:15 -0400 Received: from smtp-out.google.com ([216.239.44.51]:28536 "EHLO smtp-out.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751748Ab0G3EqN (ORCPT ); Fri, 30 Jul 2010 00:46:13 -0400 DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=quqWIlYCOaa8SM6iGdkxH3WryUfPTfKI3yCqc0qI96SrnUB68geMYjD+HMR0r1z/+ qUKaAzfgxV0kgoZA6Xbaw== MIME-Version: 1.0 In-Reply-To: <20100730131432.891df49a.kamezawa.hiroyu@jp.fujitsu.com> References: <201007282334.08063.rjw@sisk.pl> <20100729132325.59871484.kamezawa.hiroyu@jp.fujitsu.com> <20100729142245.4AA5.A69D9226@jp.fujitsu.com> <20100729142429.58b49dce.kamezawa.hiroyu@jp.fujitsu.com> <20100730090146.7e65d1c1.kamezawa.hiroyu@jp.fujitsu.com> <20100730131432.891df49a.kamezawa.hiroyu@jp.fujitsu.com> Date: Thu, 29 Jul 2010 21:46:10 -0700 Message-ID: Subject: Re: Memory corruption during hibernation since 2.6.31 From: Hugh Dickins To: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro , "Rafael J. Wysocki" , Ondrej Zary , Kernel development list , Andrew Morton , Balbir Singh , Andrea Arcangeli Content-Type: text/plain; charset=UTF-8 X-System-Of-Record: true Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1233 Lines: 28 On Thu, Jul 29, 2010 at 9:14 PM, KAMEZAWA Hiroyuki wrote: > I'll prepare a routine not-quick-fix. Thank you! > BTW, after reading mail between you and Andrea, kernel threads are not guaranteed > to be stopped when memory-dump is running ? Depends on what you mean by memory-dump, I think. The hibernation sequence is quite confusing to follow, but Rafael can correct me if I'm wrong. create_image() in kernel/power/snapshot.c does disable_nonboot_cpus() and local_irq_disable() and sysdev_suspend() and save_processor_state() and dives into swsusp_arch_suspend() to create the image in memory with everything else stopped; and it's from there that the system will later resume. But it also emerges from there in the parallel universe that goes on to allocate swap and copy the memory image to disk - at that time, you'll not be surprised to learn that interrupts are enabled, and I suppose other threads may be running, in a rather futile way. Hugh -- 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/