diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2011-12-25 17:42:20 -0500 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2011-12-25 17:42:20 -0500 |
commit | b7ba68c4a072c9aa8f04b8cf7838b6cd2f48d918 (patch) | |
tree | cd8f8029111fc52d06060691fb0325ba2e798e94 /mm | |
parent | 8d274ab7d3d6f23e2bc0e433c8d53acbe60a9773 (diff) | |
parent | 90363ddf0a1a4dccfbb8d0c10b8f488bc7fa69f8 (diff) |
Merge branch 'pm-sleep' into pm-for-linus
* pm-sleep: (51 commits)
PM: Drop generic_subsys_pm_ops
PM / Sleep: Remove forward-only callbacks from AMBA bus type
PM / Sleep: Remove forward-only callbacks from platform bus type
PM: Run the driver callback directly if the subsystem one is not there
PM / Sleep: Make pm_op() and pm_noirq_op() return callback pointers
PM / Sleep: Merge internal functions in generic_ops.c
PM / Sleep: Simplify generic system suspend callbacks
PM / Hibernate: Remove deprecated hibernation snapshot ioctls
PM / Sleep: Fix freezer failures due to racy usermodehelper_is_disabled()
PM / Sleep: Recommend [un]lock_system_sleep() over using pm_mutex directly
PM / Sleep: Replace mutex_[un]lock(&pm_mutex) with [un]lock_system_sleep()
PM / Sleep: Make [un]lock_system_sleep() generic
PM / Sleep: Use the freezer_count() functions in [un]lock_system_sleep() APIs
PM / Freezer: Remove the "userspace only" constraint from freezer[_do_not]_count()
PM / Hibernate: Replace unintuitive 'if' condition in kernel/power/user.c with 'else'
Freezer / sunrpc / NFS: don't allow TASK_KILLABLE sleeps to block the freezer
PM / Sleep: Unify diagnostic messages from device suspend/resume
ACPI / PM: Do not save/restore NVS on Asus K54C/K54HR
PM / Hibernate: Remove deprecated hibernation test modes
PM / Hibernate: Thaw processes in SNAPSHOT_CREATE_IMAGE ioctl test path
...
Conflicts:
kernel/kmod.c
Diffstat (limited to 'mm')
-rw-r--r-- | mm/backing-dev.c | 8 | ||||
-rw-r--r-- | mm/oom_kill.c | 2 |
2 files changed, 3 insertions, 7 deletions
diff --git a/mm/backing-dev.c b/mm/backing-dev.c index 71034f41a2ba..7ba8feae11b8 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c | |||
@@ -600,14 +600,10 @@ static void bdi_wb_shutdown(struct backing_dev_info *bdi) | |||
600 | 600 | ||
601 | /* | 601 | /* |
602 | * Finally, kill the kernel thread. We don't need to be RCU | 602 | * Finally, kill the kernel thread. We don't need to be RCU |
603 | * safe anymore, since the bdi is gone from visibility. Force | 603 | * safe anymore, since the bdi is gone from visibility. |
604 | * unfreeze of the thread before calling kthread_stop(), otherwise | ||
605 | * it would never exet if it is currently stuck in the refrigerator. | ||
606 | */ | 604 | */ |
607 | if (bdi->wb.task) { | 605 | if (bdi->wb.task) |
608 | thaw_process(bdi->wb.task); | ||
609 | kthread_stop(bdi->wb.task); | 606 | kthread_stop(bdi->wb.task); |
610 | } | ||
611 | } | 607 | } |
612 | 608 | ||
613 | /* | 609 | /* |
diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 069b64e521fc..eeb27e27dce3 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c | |||
@@ -328,7 +328,7 @@ static struct task_struct *select_bad_process(unsigned int *ppoints, | |||
328 | */ | 328 | */ |
329 | if (test_tsk_thread_flag(p, TIF_MEMDIE)) { | 329 | if (test_tsk_thread_flag(p, TIF_MEMDIE)) { |
330 | if (unlikely(frozen(p))) | 330 | if (unlikely(frozen(p))) |
331 | thaw_process(p); | 331 | __thaw_task(p); |
332 | return ERR_PTR(-1UL); | 332 | return ERR_PTR(-1UL); |
333 | } | 333 | } |
334 | if (!p->mm) | 334 | if (!p->mm) |