aboutsummaryrefslogtreecommitdiff
path: root/mm/shmem.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-05-12 11:57:09 +0200
committerTakashi Iwai <tiwai@suse.de>2009-05-12 11:57:09 +0200
commitddc4097b77bbb227851a44287acb2fb8a9896cc1 (patch)
tree319d098879bed7c45543d983de8becd509701b22 /mm/shmem.c
parentbec4c99e8637b5b8bd4b0513eacb51da25885e3b (diff)
parentae31c1fbdbb18d917b0a1139497c2dbd35886989 (diff)
Merge branch 'topic/drvdata-fix' into topic/asoc
Diffstat (limited to 'mm/shmem.c')
-rw-r--r--mm/shmem.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/mm/shmem.c b/mm/shmem.c
index f9cb20ebb99..b25f95ce3db 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -1340,8 +1340,12 @@ repeat:
shmem_swp_unmap(entry);
spin_unlock(&info->lock);
if (error == -ENOMEM) {
- /* allow reclaim from this memory cgroup */
- error = mem_cgroup_shrink_usage(swappage,
+ /*
+ * reclaim from proper memory cgroup and
+ * call memcg's OOM if needed.
+ */
+ error = mem_cgroup_shmem_charge_fallback(
+ swappage,
current->mm,
gfp);
if (error) {