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

From: YAMAMOTO Takashi
Date: Wed Aug 13 2008 - 03:15:23 EST


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