Re: [PATCH][RFC] dirty balancing for cgroups

YAMAMOTO Takashi
2008-08-13T07:15:20Z

hi,

> > @@ -485,7 +502,10 @@ unsigned long mem_cgroup_isolate_pages(unsigned long nr_to_scan,
> > if (PageUnevictable(page) ||
> > (PageActive(page) && !active) ||
> > (!PageActive(page) && active)) {
> > - __mem_cgroup_move_lists(pc, page_lru(page));
> > + if (try_lock_page_cgroup(page)) {
> > + __mem_cgroup_move_lists(pc, page_lru(page));
> > + unlock_page_cgroup(page);
> > + }
> > continue;
> > }
>
> This chunk seems unrelated and lost....

it's necessary to protect from mem_cgroup_{set,clear}_dirty
which modify pc->flags without holding mz->lru_lock.

> I presonally dislike the != 0, == 0 comparisons for bitmask operations,
> they seem to make it harder to read somewhow. I prefer to write !(flags
> & mask) and (flags & mask), instead.
>
> I guess taste differs,...

yes, it seems different. :)

YAMAMOTO Takashi