From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
To: linux-mm@kvack.org
Cc: "balbir@linux.vnet.ibm.com" <balbir@linux.vnet.ibm.com>,
"nishimura@mxp.nes.nec.co.jp" <nishimura@mxp.nes.nec.co.jp>,
vgoyal@redhat.com, m-ikeda@ds.jp.nec.com, gthelen@google.com,
"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: [PATCH 0/5 -mm][memcg] towards I/O aware memory cgroup v4
Date: Thu, 5 Aug 2010 18:44:34 +0900 [thread overview]
Message-ID: <20100805184434.3a29c0f9.kamezawa.hiroyu@jp.fujitsu.com> (raw)
This is v4.
Major changes from v3 is
- dropped spinlock per page_cgroup (then, 4byte free space.)
- added more comments
- clean up.
This set has 2 purposes.
1. re-desgin struct page_cgroup and makes room for blocckio-cgroup ID.
2. implement quick updating method for memcg's file stat.
1. check influence of Mel's new writeback method.
I think we'll see OOM easier. IIUC, memory cgroup needs a thread like kswapd
to do background writeback or low-high watermark.
(By this, we can control priority of background writeout thread priority
by CFS. This is very good.)
2. implementing dirty_ratio.
Now, Greg Thelen is working on. One of biggest problems of previous trial was
update cost of status. I think this patch set can reduce it.
About reducing size of struct page_cgroup:
We have several choices. So, plz wait.
I don't think packing memcgid, blockio-id to pc->flags is a good choice.
(I'm afraid of races and new limitations added by that.)
One idea: free spaces in pc->flags can be used...but it's better to store some
very stable/staic value.
One idea is store pfn or section-ID or node-id there. Then, we can remove
pc->page pointer. Considering page_cgroup's usage, page->page_cgroup is
a usual operation but page_cgroup->page is not. (only used at memory recalim)
Then, we can implement a function page_cgroup_to_page() and remove
page_cgroup->page pointer. For this, free space in pc->flags can be used.
After MM-Summit, I have another event until Aug16, and will be busy for a while.
(And cannot read e-mail box on my office) If you want to contact me, please
e-mail kahi at mte biglobe ne jp.
Thanks,
-Kame
--
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 reply other threads:[~2010-08-05 9:48 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-05 9:44 KAMEZAWA Hiroyuki [this message]
2010-08-05 9:57 ` [PATCH 1/4 -mm][memcg] quick ID lookup in memcg KAMEZAWA Hiroyuki
2010-08-06 4:12 ` Greg Thelen
2010-08-06 4:10 ` KAMEZAWA Hiroyuki
2010-08-06 4:37 ` Greg Thelen
2010-08-05 9:57 ` [PATCH 2/4 -mm][memcg] use id in page cgroup KAMEZAWA Hiroyuki
2010-08-05 10:01 ` [PATCH 3/4 -mm][memcg] scalable file status update logic without race KAMEZAWA Hiroyuki
2010-08-05 10:03 ` [PATCH 4/4 -mm][memcg] generic file-stat accounting interface for memcg 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=20100805184434.3a29c0f9.kamezawa.hiroyu@jp.fujitsu.com \
--to=kamezawa.hiroyu@jp.fujitsu.com \
--cc=akpm@linux-foundation.org \
--cc=balbir@linux.vnet.ibm.com \
--cc=gthelen@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=m-ikeda@ds.jp.nec.com \
--cc=nishimura@mxp.nes.nec.co.jp \
--cc=vgoyal@redhat.com \
/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