Messages in this thread | | | Date | Thu, 29 Jul 2010 21:46:10 -0700 | Subject | Re: Memory corruption during hibernation since 2.6.31 | From | Hugh Dickins <> |
| |
On Thu, Jul 29, 2010 at 9:14 PM, KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> 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
| |