On Thu, 18 Sep 2008 16:56:17 -0700 Balbir Singh wrote: > Thanks, Kame! I'll look at the lazy lru patches and see if I can find anything. > Do you have a unified patch anywhere, I seem to get confused with the patches, I > see 10/9, 11/9 and 12/9. I'll do some analysis when I find some free time, I am > currently at plumbers conference. > I need some more tests and cleaning up, adjustments to new mmotm. If you want to see temporal one, try attachted tgz. (deleted CC: list) Enjoy conference :) I think I should avoid vmalloc(), at first.... Brief description. page_count_fix.patch may confuse you. special_mapping_fix.patch => don't account special pages which is not on LRU because we make use of usual LRU page's protocol to do our jobs. swap-cache-under-lock.patch => move swap-cache accounting under lock for avoid unnecessary race. nolimit_root.patch => make root cgroup to be unlimited. no changes from previous one. atomic_flags.patch => make page_cgroup->flags to allow atomic ops. account_move.patch => implements "move account" logic for new force_empty. new_force_empty.patch => New force_empty, which moves account rather than discards. make_mapping_null.patch => garauntee page->mapping is NULL before calling uncharge_cache_page. stat.patch => optimize statitstics and add "unlikely" to charge loop. page_cgroup.patch => pre-allocate all page_cgroup at boot. access by hash. pcg_boost.patch => speed up access to page_cgroup vie per-cpu lookaside buffer page_count_fix.patch => get/put page's count at charge/uncharge. This is for preventing the page from begin reused while it's on memcg. lazy_lru_free.patch => free page_cgroup from memcg's LRU in lazy way. lazy_lru_add.patch => add page_cgroup to memcg's LRU in lazy way. misc.patch => some optimzation now under test. Thanks, -Kame