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

KAMEZAWA Hiroyuki
2008-08-18T07:52:46Z

On Wed, 13 Aug 2008 16:15:05 +0900 (JST)
yamamoto@valinux.co.jp (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