diff options
author | Andrew Morton <akpm@osdl.org> | 2004-06-23 19:23:48 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-06-23 19:23:48 -0700 |
commit | 97b6dbb209b4bfb029823a4d7fb46eea3ec22574 (patch) | |
tree | 556d0a71b1d0bc8d1047f73cf1937983a9e817dd /kernel | |
parent | f9e382ec07311eb94c7254bd2cb83d18106def7a (diff) | |
download | history-97b6dbb209b4bfb029823a4d7fb46eea3ec22574.tar.gz |
[PATCH] Prepare for SMP suspend
From: Pavel Machek <pavel@ucw.cz>
Its very bad idea to freeze migration threads, as it crashes machine upon
next call to "schedule()". In refrigerator, I had one "wake_up_process()"
too many. This fixes it.
Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/power/process.c | 1 | ||||
-rw-r--r-- | kernel/sched.c | 1 |
2 files changed, 1 insertions, 1 deletions
diff --git a/kernel/power/process.c b/kernel/power/process.c index 347435415eaf1f..0d1f63ec7287f9 100644 --- a/kernel/power/process.c +++ b/kernel/power/process.c @@ -109,7 +109,6 @@ void thaw_processes(void) wake_up_process(p); } else printk(KERN_INFO " Strange, %s not stopped\n", p->comm ); - wake_up_process(p); } while_each_thread(g, p); read_unlock(&tasklist_lock); diff --git a/kernel/sched.c b/kernel/sched.c index 95f18cf8a5b6b4..9e676db0267b79 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -3571,6 +3571,7 @@ static int migration_call(struct notifier_block *nfb, unsigned long action, p = kthread_create(migration_thread, hcpu, "migration/%d",cpu); if (IS_ERR(p)) return NOTIFY_BAD; + p->flags |= PF_NOFREEZE; kthread_bind(p, cpu); /* Must be high prio: stop_machine expects to yield to it. */ rq = task_rq_lock(p, &flags); |