Re: Race condition between putback_lru_page and mem_cgroup_move_list

KOSAKI Motohiro
2008-08-05T11:19:56Z

> 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.