Messages in this thread | | | Date | Fri, 28 Jan 2011 08:57:24 +0100 | From | Johannes Weiner <> | Subject | Re: [BUGFIX][PATCH 2/4] memcg: fix charge path for THP and allow early retirement |
| |
On Fri, Jan 28, 2011 at 12:26:08PM +0900, KAMEZAWA Hiroyuki wrote: > From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> > > 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@jp.fujitsu.com> > --- > 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.
| |