Re: [PATCH v3 5/9] memcg: use css_get/put when charging/uncharging kmem

Glauber Costa
2013-06-14T10:56:20Z

On Fri, Jun 14, 2013 at 09:17:40AM +0800, Li Zefan wrote:
> >> static void memcg_kmem_mark_dead(struct mem_cgroup *memcg)
> >> {
> >> + /*
> >> + * We need to call css_get() first, because memcg_uncharge_kmem()
> >> + * will call css_put() if it sees the memcg is dead.
> >> + */
> >> + smb_wmb();
> >> if (test_bit(KMEM_ACCOUNTED_ACTIVE, &memcg->kmem_account_flags))
> >> set_bit(KMEM_ACCOUNTED_DEAD, &memcg->kmem_account_flags);
> >
> > I do not feel strongly about that but maybe open coding this in
> > mem_cgroup_css_offline would be even better. There is only single caller
> > and there is smaller chance somebody will use the function incorrectly
> > later on.
> >
> > So I leave the decision on you because this doesn't matter much.
> >
>
> Yeah, it should go away soon. I'll post a patch after this patchset gets
> merged into -mm tree and then we can discuss there.

I don't care if it is open coded or not. If there is any strong preference
from anyone on this matter, feel free to change it.