Messages in this thread | | | Date | Tue, 05 Aug 2008 20:19:56 +0900 | From | KOSAKI Motohiro <> | Subject | Re: Race condition between putback_lru_page and mem_cgroup_move_list |
| |
> In general yes, but in practice no. We have different paths through which a page > can be reclaimed. Consider the following > > 1. What happens if a global reclaim is in progress at the same time as memory > cgroup reclaim and they are both looking at the same page? > 2. In the shared reclaim infrastructure, we move pages and update statistics for > pages belonging to a particular zone in a particular cgroup.
hehe, you said mem_cgroup_per_zone::lru_lock is unnecessary lock.
Also, we can two approach
1. the pages are allowed to exist in different zone of memcg zone and global zone. and recover later (by mem_cgroup_isolate_pages). here is current implementation. 2. the pages aren't allowed to exist in different zone of memcg zone and global zone. (you said its mail)
if we select 2, I hope mem_cgroup_move_lists is called by ____pagevec_lru_add and add_page_to_unevictable_list. then, page's global lru transition become memcg lru transition automatically. it increase source code readability.
| |