[RFC][PATCH 0/11] memcg updates / clean up, lazy lru ,mem+swap controller

KAMEZAWA Hiroyuki
2008-10-23T08:58:30Z

Just for internal review. Now, it's under merge window ;)

This is mem cgroup next update (in my queue.)
I'm now testing this set and would like to post next week, one by one.
(Anyway, I'll wait until mmotm/mainline seems to be setteled.)

These are against "The mm-of-the-moment snapshot 2008-10-22-17-18"

Includes 1 clean up and 4 major changes.

a. menuconfig cleanup
Now, "General Setup" in menuconfig is getting longer day by day...
add cgroup submenu for good look.

b. try/commit/cancel protocol.
make mem_cgroup interface to be more specific and add new interface to
try/commit/cancel.
Because we allocates all page_cgroup at boot, we can do better handling
of charge/uncharge calls.

c. change force_empty's behavior from forgetting all to move to parent.
Now, force_empty does "forget all". This is not good.
Change this behavior to
- move account to the parent.
- if the parent hits limit, free pages.
and this remove memory.force_empty interface....a debug only brutal file.
(This file can be a hole....)
d. lazy lru handling.
do add/remove to memcg's LRU in lazy way as pagevec does.

e. Mem+Swap controller.
account swap and limit by mem+swap. this feature is implemented as a
extension to memcg. (mem_counter is removed.)

In my view,
a. is ok. (patch 1,2)
b,c,d have been tested for 2-3 weeks unchaged.. (patch 3-7)
e. is very new and will be in my queue for more weeks. (patch8-11)

Patches.
[1/11] fix menu's comment about page_cgroup overhead.
[2/11] make cgroup's manuconfig as sub menu
[3/11] introduce charge/commit/cancel
[4/11] clean up page migration (again!)
[5/11] fix force_empty to move account to parent
[6/11] lazy memcg lru removal
[7/11] lazy memcg lru add
[8/11] make shmem's accounting clealer before mem+swap controller
[9/11] mem+swap controller kconfig.
[10/11] swap_cgroup for recording swap information
[11/11] mem+swap controller core

Thank you for all your patient helps.

Regards,
-Kame