From: "KAMEZAWA Hiroyuki" <kamezawa.hiroyu@jp.fujitsu.com>
To: balbir@linux.vnet.ibm.com
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"nishimura@mxp.nes.nec.co.jp" <nishimura@mxp.nes.nec.co.jp>,
"lizf@cn.fujitsu.com" <lizf@cn.fujitsu.com>,
"menage@google.com" <menage@google.com>,
"kosaki.motohiro@jp.fujitsu.com" <kosaki.motohiro@jp.fujitsu.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [RFC][PATCH 4/6] Flat hierarchical reclaim by ID
Date: Tue, 9 Dec 2008 23:28:32 +0900 (JST) [thread overview]
Message-ID: <3526.10.75.179.61.1228832912.squirrel@webmail-b.css.fujitsu.com> (raw)
In-Reply-To: <20081209122731.GB4174@balbir.in.ibm.com>
Balbir Singh said:
> * KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> [2008-12-09
> 20:09:15]:
>
>>
>> From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
>>
>> Implement hierarchy reclaim by cgroup_id.
>>
>> What changes:
>> - Page reclaim is not done by tree-walk algorithm
>> - mem_cgroup->last_schan_child is changed to be ID, not pointer.
>> - no cgroup_lock, done under RCU.
>> - scanning order is just defined by ID's order.
>> (Scan by round-robin logic.)
>>
>> Changelog: v3 -> v4
>> - adjusted to changes in base kernel.
>> - is_acnestor() is moved to other patch.
>>
>> Changelog: v2 -> v3
>> - fixed use_hierarchy==0 case
>>
>> Changelog: v1 -> v2
>> - make use of css_tryget();
>> - count # of loops rather than remembering position.
>>
>> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujisu.com>
>
> I have not yet run the patch, but the heuristics seem a lot like
> magic. I am not against scanning by order, but is order the right way
> to scan groups?
My consideration is
- Both of current your implementation and this round robin is just
an example. I never think some kind of search algorighm detemined by
shape of tree is the best way.
- No one knows what order is the best, now. We have to find it.
- The best order will be determined by some kind of calculation rather
than shape of tree and must pass by tons of tests.
This needs much amount of time and patient work. VM management is not
so easy thing.
I think your soft-limit idea can be easily merged onto this patch set.
> Does this order reflect their position in the hierarchy?
No. just scan IDs from last scannned one in RR.
BTW, can you show what an algorithm works well in following case ?
ex)
groupA/ limit=1G usage=300M
01/ limit=600M usage=600M
02/ limit=700M usage=70M
03/ limit=100M usage=30M
Which one should be shrinked at first and why ?
1) when group_A hit limits.
2) when group_A/01 hit limits.
3) when group_A/02 hit limits.
I can't now.
This patch itself uses round-robin and have no special order.
I think implenting good algorithm under this needs some amount of time.
> Shouldn't id's belong to cgroups instead of just memory controller?
If Paul rejects, I'll move this to memcg. But bio-cgroup people also use
ID and, in this summer, I posted swap-cgroup-ID patch and asked to
implement IDs under cgroup rather than subsys. (asked by Paul or you.)
>From implementation, hierarchy code management at el. should go into
cgroup.c and it gives us clear view rather than implemented under memcg.
-Kame
> I would push back ids to cgroups infrastructure.
>
--
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:[~2008-12-09 14:28 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-09 11:02 [RFC][PATCH 0/6] cgroup id and mix fixes (2008/12/09) KAMEZAWA Hiroyuki
2008-12-09 11:04 ` [RFC][PATCH 1/6] memcg: Documentation for internal implementation KAMEZAWA Hiroyuki
2008-12-10 0:27 ` KAMEZAWA Hiroyuki
2008-12-10 1:02 ` Li Zefan
2008-12-10 1:07 ` KAMEZAWA Hiroyuki
2008-12-09 11:06 ` [RFC][PATCH 1/6] memcg: fix pre_destory handler KAMEZAWA Hiroyuki
2008-12-10 2:08 ` KAMEZAWA Hiroyuki
2008-12-10 2:19 ` Li Zefan
2008-12-10 2:23 ` KAMEZAWA Hiroyuki
2008-12-10 2:28 ` Daisuke Nishimura
2008-12-10 2:58 ` KAMEZAWA Hiroyuki
2008-12-10 3:03 ` Daisuke Nishimura
2008-12-10 4:17 ` KAMEZAWA Hiroyuki
2008-12-10 10:40 ` Paul Menage
2008-12-10 11:29 ` KAMEZAWA Hiroyuki
2008-12-10 13:25 ` Balbir Singh
2008-12-10 13:47 ` Daisuke Nishimura
2008-12-10 18:26 ` Paul Menage
2008-12-10 18:25 ` Paul Menage
2008-12-10 18:35 ` Paul Menage
2008-12-10 19:00 ` Paul Menage
2008-12-11 0:21 ` KAMEZAWA Hiroyuki
2008-12-11 0:24 ` Paul Menage
2008-12-11 1:06 ` KAMEZAWA Hiroyuki
2008-12-11 12:43 ` KAMEZAWA Hiroyuki
2008-12-11 0:25 ` KAMEZAWA Hiroyuki
2008-12-11 0:28 ` Paul Menage
2008-12-11 1:09 ` KAMEZAWA Hiroyuki
2008-12-09 11:08 ` [RFC][PATCH 2/6] cgroup id KAMEZAWA Hiroyuki
2008-12-09 11:09 ` [RFC][PATCH 4/6] Flat hierarchical reclaim by ID KAMEZAWA Hiroyuki
2008-12-09 12:27 ` Balbir Singh
2008-12-09 14:28 ` KAMEZAWA Hiroyuki [this message]
2008-12-09 15:46 ` Balbir Singh
2008-12-09 16:34 ` KAMEZAWA Hiroyuki
2008-12-10 2:49 ` Balbir Singh
2008-12-10 3:03 ` KAMEZAWA Hiroyuki
2008-12-09 11:10 ` [RFC][PATCH 5/6] fix inactive_ratio under hierarchy KAMEZAWA Hiroyuki
2008-12-11 3:14 ` KOSAKI Motohiro
2008-12-11 3:19 ` KAMEZAWA Hiroyuki
2008-12-09 11:12 ` [RFC][PATCH 6/6] fix oom " KAMEZAWA Hiroyuki
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=3526.10.75.179.61.1228832912.squirrel@webmail-b.css.fujitsu.com \
--to=kamezawa.hiroyu@jp.fujitsu.com \
--cc=balbir@linux.vnet.ibm.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lizf@cn.fujitsu.com \
--cc=menage@google.com \
--cc=nishimura@mxp.nes.nec.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