From: Balbir Singh <balbir@linux.vnet.ibm.com>
To: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: linux-mm@kvack.org, YAMAMOTO Takashi <yamamoto@valinux.co.jp>,
lizf@cn.fujitsu.com, Rik van Riel <riel@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Subject: Re: [PATCH 4/4] Memory controller soft limit reclaim on contention (v5)
Date: Fri, 13 Mar 2009 10:37:40 +0530 [thread overview]
Message-ID: <20090313050740.GF16897@balbir.in.ibm.com> (raw)
In-Reply-To: <20090313134548.AF50.A69D9226@jp.fujitsu.com>
* KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> [2009-03-13 13:50:26]:
> > > > I have two objection to this.
> > > >
> > > > - "if (!order || !did_some_progress)" mean no call try_to_free_pages()
> > > > in order>0 and did_some_progress>0 case.
> > > > but mem_cgroup_soft_limit_reclaim() don't have lumpy reclaim.
> > > > then, it break high order reclaim.
> > >
> > > I am sending a fix for this right away. Thanks, the check should be
> > > if (order || !did_some_progress)
> >
> > No.
> >
> > it isn't enough.
> > after is does, order-1 allocation case twrice reclaim (soft limit shrinking
> > and normal try_to_free_pages()).
> > then, order-1 reclaim makes slower about 2 times.
> >
> > unfortunately, order-1 allocation is very frequent. it is used for
> > kernel stack.
>
> in normal order-1 reclaim is:
>
> 1. try_to_free_pages()
> 2. get_page_from_freelist()
> 3. retry if order-1 page don't exist
>
> Coundn't you use the same logic?
>
> > > > - in global reclaim view, foreground reclaim and background reclaim's
> > > > reclaim rate is about 1:9 typically.
> > > > then, kswapd reclaim the pages by global lru order before proceccing
> > > > this logic.
> > > > IOW, this soft limit is not SOFT.
> > >
> > > It depends on what you mean by soft. I call them soft since they are
> > > imposed only when there is contention. If you mean kswapd runs more
> > > often than direct reclaim, that is true, but it does not impact this
> > > code extensively since the high water mark is a very small compared to
> > > the pages present on the system.
> >
> > No.
> >
> > My point is, contention case kswapd wakeup. and kswapd reclaim by
> > global lru order before soft limit shrinking.
> > Therefore, In typical usage, mem_cgroup_soft_limit_reclaim() almost
> > don't call properly.
> >
> > soft limit shrinking should run before processing global reclaim.
>
> Do you have the reason of disliking call from kswapd ?
>
Yes, I sent that reason out as comments to Kame's patches. kswapd or
balance_pgdat controls the zones, priority and in effect how many
pages we scan while doing reclaim. I did lots of experiments and found
that if soft limit reclaim occurred from kswapd, soft_limit_reclaim
would almost always fail and shrink_zone() would succeed, since it
looks at the whole zone and is always able to find some pages at all
priority levels. It also does not allow for targetted reclaim based on
how much we exceed the soft limit by.
--
Balbir
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2009-03-13 5:07 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-12 17:56 [PATCH 0/4] Memory controller soft limit patches (v5) Balbir Singh
2009-03-12 17:56 ` [PATCH 1/4] Memory controller soft limit documentation (v5) Balbir Singh
2009-03-12 17:56 ` [PATCH 2/4] Memory controller soft limit interface (v5) Balbir Singh
2009-03-12 22:59 ` Andrew Morton
2009-03-13 4:58 ` Balbir Singh
2009-03-12 17:56 ` [PATCH 3/4] Memory controller soft limit organize cgroups (v5) Balbir Singh
2009-03-12 23:04 ` Andrew Morton
2009-03-13 5:03 ` Balbir Singh
2009-03-13 0:47 ` KOSAKI Motohiro
2009-03-13 5:04 ` Balbir Singh
2009-03-13 5:22 ` KOSAKI Motohiro
2009-03-13 8:20 ` Balbir Singh
2009-03-13 6:59 ` KAMEZAWA Hiroyuki
2009-03-13 7:09 ` Balbir Singh
2009-03-12 17:56 ` [PATCH 4/4] Memory controller soft limit reclaim on contention (v5) Balbir Singh
2009-03-12 23:34 ` Andrew Morton
2009-03-13 7:53 ` Balbir Singh
2009-03-13 1:36 ` KOSAKI Motohiro
2009-03-13 4:13 ` Balbir Singh
2009-03-13 4:31 ` KOSAKI Motohiro
2009-03-13 4:50 ` KOSAKI Motohiro
2009-03-13 5:07 ` Balbir Singh [this message]
2009-03-13 6:54 ` KOSAKI Motohiro
2009-03-13 7:03 ` Balbir Singh
2009-03-13 7:17 ` KOSAKI Motohiro
2009-03-13 7:26 ` Balbir Singh
2009-03-13 8:37 ` KAMEZAWA Hiroyuki
2009-03-13 5:26 ` Balbir Singh
2009-03-13 5:34 ` KOSAKI Motohiro
2009-03-13 4:58 ` Balbir Singh
2009-03-13 6:51 ` KAMEZAWA Hiroyuki
2009-03-13 7:15 ` Balbir Singh
2009-03-13 8:41 ` KAMEZAWA Hiroyuki
2009-03-13 7:02 ` [PATCH 0/4] Memory controller soft limit patches (v5) KAMEZAWA Hiroyuki
2009-03-13 7:07 ` KAMEZAWA Hiroyuki
2009-03-13 7:15 ` Andrew Morton
2009-03-13 7:29 ` Balbir Singh
2009-03-13 7:18 ` Balbir Singh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090313050740.GF16897@balbir.in.ibm.com \
--to=balbir@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-mm@kvack.org \
--cc=lizf@cn.fujitsu.com \
--cc=riel@redhat.com \
--cc=yamamoto@valinux.co.jp \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox