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

From: KAMEZAWA Hiroyuki
Date: Mon Aug 18 2008 - 03:52:46 EST


On Wed, 13 Aug 2008 16:15:05 +0900 (JST)
yamamoto@xxxxxxxxxxxxx (YAMAMOTO Takashi) wrote:

> 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'm now writing a patch to make page_cgroup->flags to be atomic_ops.
Don't worry about this.
(With remove-page-lock-cgroup patch, atomic_ops patch's performace is
quite well.)

Thanks,
-Kame

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