I'm now writing *lazy* lru handing via per-cpu struct like pagevec.
It seems works well (but not so fast as expected on 2cpu box....)
I need more tests but it's not so bad to share the logic at this stage.
I added 3 patches on to this set. (my old set need bug fix.)
==
[1] patches/page_count.patch ....get_page()/put_page() via page_cgroup.
[2] patches/lazy_lru_free.patch ....free page_cgroup from LRU in lazy way.
[3] patches/lazy_lru_add.patch ....add page_cgroup to LRU in lazy way.
3 patches will follow this mail.
Because of speculative radix-tree lookup, page_count patch seems a bit
difficult.
Anyway, I'll make this patch readable and post again.
Thanks,
-Kame
--