Messages in this thread | | | Date | Mon, 18 Aug 2008 16:58:56 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | Re: [PATCH][RFC] dirty balancing for cgroups |
| |
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
| |