Thanks to Johanns and Daisuke for suggestion. = Hugepage allocation shouldn't trigger oom. Allocation failure is not fatal. Orignal-patch-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> --- mm/memcontrol.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) Index: mmotm-0125/mm/memcontrol.c =================================================================== --- mmotm-0125.orig/mm/memcontrol.c +++ mmotm-0125/mm/memcontrol.c @@ -2369,11 +2369,14 @@ static int mem_cgroup_charge_common(stru struct page_cgroup *pc; int ret; int page_size = PAGE_SIZE; + bool oom; if (PageTransHuge(page)) { page_size <<= compound_order(page); VM_BUG_ON(!PageTransHuge(page)); - } + oom = false; + } else + oom = true; pc = lookup_page_cgroup(page); /* can happen at boot */ @@ -2381,7 +2384,7 @@ static int mem_cgroup_charge_common(stru return 0; prefetchw(pc); - ret = __mem_cgroup_try_charge(mm, gfp_mask, &mem, true, page_size); + ret = __mem_cgroup_try_charge(mm, gfp_mask, &mem, oom, page_size); if (ret || !mem) return ret; -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>