On Fri, Jan 28, 2011 at 12:26:08PM +0900, KAMEZAWA Hiroyuki wrote: > From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> > > When THP is used, Hugepage size charge can happen. It's not handled > correctly in mem_cgroup_do_charge(). For example, THP can fallback > to small page allocation when HUGEPAGE allocation seems difficult > or busy, but memory cgroup doesn't understand it and continue to > try HUGEPAGE charging. And the worst thing is memory cgroup > believes 'memory reclaim succeeded' if limit - usage > PAGE_SIZE. > > By this, khugepaged etc...can goes into inifinite reclaim loop > if tasks in memcg are busy. > > After this patch > - Hugepage allocation will fail if 1st trial of page reclaim fails. > > Changelog: > - make changes small. removed renaming codes. > > Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> > --- > mm/memcontrol.c | 28 ++++++++++++++++++++++++---- > 1 file changed, 24 insertions(+), 4 deletions(-) Was there something wrong with my oneline fix? Really, there is no way to make this a beautiful fix. The way this function is split up makes no sense, and the constant addition of more and more flags just to correctly communicate with _one callsite_ should be an obvious hint. -- 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>