Messages in this thread | ![/](/images/icornerl.gif) | | Date | Wed, 9 Dec 2009 14:06:20 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | Re: [PATCH] [23/31] HWPOISON: add memory cgroup filter |
| |
On Wed, 09 Dec 2009 13:04:06 +0800 Li Zefan <lizf@cn.fujitsu.com> wrote:
> > +#ifdef CONFIG_CGROUP_MEM_RES_CTLR_SWAP > > +u64 hwpoison_filter_memcg; > > +EXPORT_SYMBOL_GPL(hwpoison_filter_memcg); > > +static int hwpoison_filter_task(struct page *p) > > +{ > > + struct mem_cgroup *mem; > > + struct cgroup_subsys_state *css; > > + unsigned long ino; > > + > > + if (!hwpoison_filter_memcg) > > + return 0; > > + > > + mem = try_get_mem_cgroup_from_page(p); > > + if (!mem) > > + return -EINVAL; > > + > > + css = mem_cgroup_css(mem); > > + ino = css->cgroup->dentry->d_inode->i_ino; > > I have a question, can try_get_mem_cgroup_from_page() return > root_mem_cgroup? > yes.
> if it can, then css->cgroup->dentry is NULL, if memcg is > not mounted and there is no subdir in memcg. Because the root > cgroup of an inactive subsystem has no dentry. >
Nice catch. It sounds possible. That should be handled.
Regards, -Kame
| ![\](/images/icornerr.gif) |