From mboxrd@z Thu Jan 1 00:00:00 1970 From: Balbir Singh Subject: Re: Question : memrlimit cgroup's task_move (2.6.26-rc5-mm3) Date: Fri, 20 Jun 2008 19:03:55 +0530 Message-ID: <485BB1C3.6000009@linux.vnet.ibm.com> References: <20080619121435.f868c110.kamezawa.hiroyu@jp.fujitsu.com> <20080619182556.GA10461@balbir.in.ibm.com> <20080620091316.80771d14.kamezawa.hiroyu@jp.fujitsu.com> Reply-To: balbir-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20080620091316.80771d14.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: KAMEZAWA Hiroyuki Cc: "containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org" , "linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org" , "menage-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org" List-Id: containers.vger.kernel.org KAMEZAWA Hiroyuki wrote: > On Thu, 19 Jun 2008 23:55:56 +0530 > Balbir Singh wrote: > >> * KAMEZAWA Hiroyuki [2008-06-19 12:14:35]: >> >>> I used memrlimit cgroup at the first time. >>> >>> May I ask a question about memrlimit cgroup ? >>> >> Hi, Kamezawa-San, >> >> Could you please review/test the patch below to see if it solves your >> problem? If it does, I'll push it up to Andrew >> > > At quick glance, >> + /* >> + * NOTE: Even though we do the necessary checks in can_attach(), >> + * by the time we come here, there is a chance that we still >> + * fail (the memrlimit cgroup has grown its usage, and the >> + * addition of total_vm will no longer fit into its limit) >> + */ > I don't like this kind of holes. Considering tests which are usually done > by developpers, the problem seems not to be mentioned as "rare".. > It seems we can easily cause Warning. right ? > > Even if you don't want to handle this case now, please mention as "TBD" > rather than as "NOTE". > Honestly to fix this problem completely, we need transactional management in cgroups. Both can_attach() and attach() are called with cgroup_mutex held, but total_vm is changed with mmap_sem held. What we can do is 1. Implement a routine attach_failed() in cgroups, that is called for each task for which can_attach() succeeded, if any of the can_attach() routine returns an error 2. Do the migration in can_attach() and unroll in attach_failed() -- Warm Regards, Balbir Singh Linux Technology Center IBM, ISTL