From: KAMEZAWA Hiroyuki on
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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/