From: KAMEZAWA Hiroyuki <kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
To: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Glauber Costa <glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>,
netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Li Zefan <lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>,
Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>,
Michal Hocko <mhocko-AlSwsSmVLrQ@public.gmane.org>,
Balbir Singh
<bsingharora-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH v2 2/2] cgroup: get rid of populate for memcg
Date: Tue, 10 Apr 2012 10:35:07 +0900 [thread overview]
Message-ID: <4F838E4B.9080905@jp.fujitsu.com> (raw)
In-Reply-To: <20120409174042.GA7522-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
(2012/04/10 2:40), Tejun Heo wrote:
> (cc'ing other memcg ppl just in case)
>
> Hello,
>
> I don't think the error handling is correct here.
>
> On Fri, Apr 06, 2012 at 08:04:10PM +0400, Glauber Costa wrote:
>> The last man standing justifying the need for populate() is the
>> sock memcg initialization functions. Now that we are able to pass
>> a struct mem_cgroup instead of a struct cgroup to the socket
>> initialization, there is nothing that stops us from initializing
>> everything in create().
>>
>> Signed-off-by: Glauber Costa <glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
>> CC: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
>> CC: Li Zefan <lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
>> ---
> ...
>> @@ -5010,7 +5010,9 @@ mem_cgroup_create(struct cgroup *cont)
>> memcg->move_charge_at_immigrate = 0;
>> mutex_init(&memcg->thresholds_lock);
>> spin_lock_init(&memcg->move_lock);
>> - return &memcg->css;
>> +
>> + if (!memcg_init_kmem(memcg, &mem_cgroup_subsys))
>> + return &memcg->css;
>> free_out:
>> __mem_cgroup_free(memcg);
>> return ERR_PTR(error);
>
> So, the control is just falling through free_out: on kmem init
> failure; however, there seem to be stuff which needs to be undone -
> hotcpu_notifier() registration, which BTW seems incorrect even on its
> own - unmounting and mounting again would probably make the same
> notifier registered multiple times corrupting notification chain, and
> ref inc on the parent.
>
ok, it should be fixed.
> It probably would be best to reorganize the function slightly such
> that, it's organized as...
>
> 1. alloc
> 2. init stuff w/o other side effects
> 3. make side effects
>
> and add kmemcg init at the end of the second step.
>
> Also, memcg maintainers, once the patches get updated and acked, I'd
> like to route them through cgroup tree so that I can kill ->populate
> there. cgroup/for-3.5 is stable branch which can be pulled into other
> trees including the memcg one. Would that be okay?
>
Hm, I'm okay with that but.....Michal ?
Thanks,
-Kame
next prev parent reply other threads:[~2012-04-10 1:35 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-06 16:04 [PATCH v2 0/2] update memcg to break its need of populate Glauber Costa
[not found] ` <1333728250-14248-1-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-04-06 16:04 ` [PATCH v2 1/2] cgroup: pass struct mem_cgroup instead of struct cgroup to socket memcg Glauber Costa
2012-04-06 16:04 ` [PATCH v2 2/2] cgroup: get rid of populate for memcg Glauber Costa
[not found] ` <1333728250-14248-3-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-04-09 17:40 ` Tejun Heo
[not found] ` <20120409174042.GA7522-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-04-09 17:51 ` Glauber Costa
[not found] ` <4F83218E.7060502-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-04-09 18:13 ` Tejun Heo
[not found] ` <20120409181331.GD7522-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-04-09 20:18 ` Glauber Costa
[not found] ` <4F83442C.8040006-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-04-09 20:39 ` Tejun Heo
2012-04-10 1:37 ` KAMEZAWA Hiroyuki
2012-04-10 1:35 ` KAMEZAWA Hiroyuki [this message]
-- strict thread matches above, loose matches on Subject: below --
2012-03-22 18:19 [PATCH v2 0/2] remove sock memcg dependencies on populate Glauber Costa
[not found] ` <1332440363-2754-1-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-03-22 18:19 ` [PATCH v2 2/2] cgroup: get rid of populate for memcg Glauber Costa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F838E4B.9080905@jp.fujitsu.com \
--to=kamezawa.hiroyu-+cum20s59erqfuhtdcdx3a@public.gmane.org \
--cc=bsingharora-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org \
--cc=hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org \
--cc=lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \
--cc=mhocko-AlSwsSmVLrQ@public.gmane.org \
--cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox