Messages in this thread | | | Date | Fri, 28 Jan 2011 17:14:47 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | Re: [BUGFIX][PATCH 2/4] memcg: fix charge path for THP and allow early retirement |
| |
On Fri, 28 Jan 2011 08:57:24 +0100 Johannes Weiner <hannes@cmpxchg.org> wrote:
> 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? > I thought your patch was against RHEL6.
> 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. >
Your version has to depend on oom_check flag to work fine. I think it's complicated.
Thanks, -Kame
| |