projects
/
platform
/
adaptation
/
renesas_rcar
/
renesas_kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mm: memcg: use proper memcg in limit bypass
[platform/adaptation/renesas_rcar/renesas_kernel.git]
/
mm
/
memcontrol.c
diff --git
a/mm/memcontrol.c
b/mm/memcontrol.c
index
34d3ca9
..
623d5c8
100644
(file)
--- a/
mm/memcontrol.c
+++ b/
mm/memcontrol.c
@@
-2765,10
+2765,10
@@
done:
*ptr = memcg;
return 0;
nomem:
*ptr = memcg;
return 0;
nomem:
- *ptr = NULL;
- if (gfp_mask & __GFP_NOFAIL)
- return
0
;
- return -ENOMEM;
+ if (!(gfp_mask & __GFP_NOFAIL)) {
+ *ptr = NULL;
+ return
-ENOMEM
;
+ }
bypass:
*ptr = root_mem_cgroup;
return -EINTR;
bypass:
*ptr = root_mem_cgroup;
return -EINTR;
@@
-3774,7
+3774,7
@@
void mem_cgroup_move_account_page_stat(struct mem_cgroup *from,
/* Update stat data for mem_cgroup */
preempt_disable();
WARN_ON_ONCE(from->stat->count[idx] < nr_pages);
/* Update stat data for mem_cgroup */
preempt_disable();
WARN_ON_ONCE(from->stat->count[idx] < nr_pages);
- __this_cpu_
add(from->stat->count[idx], -
nr_pages);
+ __this_cpu_
sub(from->stat->count[idx],
nr_pages);
__this_cpu_add(to->stat->count[idx], nr_pages);
preempt_enable();
}
__this_cpu_add(to->stat->count[idx], nr_pages);
preempt_enable();
}