hi,

> +unsigned long mem_container_isolate_pages(unsigned long nr_to_scan,
> +                                     struct list_head *dst,
> +                                     unsigned long *scanned, int order,
> +                                     int mode, struct zone *z,
> +                                     struct mem_container *mem_cont,
> +                                     int active)
> +{
> +     unsigned long nr_taken = 0;
> +     struct page *page;
> +     unsigned long scan;
> +     LIST_HEAD(mp_list);
> +     struct list_head *src;
> +     struct meta_page *mp;
> +
> +     if (active)
> +             src = &mem_cont->active_list;
> +     else
> +             src = &mem_cont->inactive_list;
> +
> +     for (scan = 0; scan < nr_to_scan && !list_empty(src); scan++) {
> +             mp = list_entry(src->prev, struct meta_page, lru);
> +             page = mp->page;
> +

- is it safe to pick the lists without mem_cont->lru_lock held?

- what prevents mem_container_uncharge from freeing this meta_page
 behind us?

YAMAMOTO Takashi
_______________________________________________
Containers mailing list
[EMAIL PROTECTED]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
Devel@openvz.org
https://openvz.org/mailman/listinfo/devel

Reply via email to