Re: Race condition between putback_lru_page and mem_cgroup_move_list

From: KOSAKI Motohiro
Date: Tue Aug 05 2008 - 07:26:21 EST


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




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/