All of lore.kernel.org
 help / color / mirror / Atom feed
From: Balbir Singh <balbir@linux.vnet.ibm.com>
To: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Cc: linux-mm@kvack.org, YAMAMOTO Takashi <yamamoto@valinux.co.jp>,
	Paul Menage <menage@google.com>,
	lizf@cn.fujitsu.com, linux-kernel@vger.kernel.org,
	Nick Piggin <nickpiggin@yahoo.com.au>,
	David Rientjes <rientjes@google.com>,
	Pavel Emelianov <xemul@openvz.org>,
	Dhaval Giani <dhaval@linux.vnet.ibm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Subject: Re: [mm] [PATCH 3/4] Memory cgroup hierarchical reclaim (v4)
Date: Tue, 25 Nov 2008 20:31:25 +0530	[thread overview]
Message-ID: <492C1345.9090201@linux.vnet.ibm.com> (raw)
In-Reply-To: <20081125205832.38f8c365.nishimura@mxp.nes.nec.co.jp>

Daisuke Nishimura wrote:
> Hi.
> 
> Unfortunately, trying to hold cgroup_mutex at reclaim causes dead lock.
> 
> For example, when attaching a task to some cpuset directory(memory_migrate=on),
> 
>     cgroup_tasks_write (hold cgroup_mutex)
>         attach_task_by_pid
>             cgroup_attach_task
>                 cpuset_attach
>                     cpuset_migrate_mm
>                         :
>                         unmap_and_move
>                             mem_cgroup_prepare_migration
>                                 mem_cgroup_try_charge
>                                     mem_cgroup_hierarchical_reclaim
> 

Did lockdep complain about it?

1. We could probably move away from cgroup_mutex to a memory controller specific
mutex.
2. We could give up cgroup_mutex before migrate_mm, since it seems like we'll
hold the cgroup lock for long and holding it during reclaim will definitely be
visible to users trying to create/delete nodes.

I prefer to do (2), I'll look at the code more closely

> I think similar problem can also happen when removing memcg's directory.
> 

Why removing a directory? memcg (now) marks the directory as obsolete and we
check for obsolete directories and get/put references.

Thanks for the bug report!

-- 
	Balbir

WARNING: multiple messages have this Message-ID (diff)
From: Balbir Singh <balbir@linux.vnet.ibm.com>
To: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Cc: linux-mm@kvack.org, YAMAMOTO Takashi <yamamoto@valinux.co.jp>,
	Paul Menage <menage@google.com>,
	lizf@cn.fujitsu.com, linux-kernel@vger.kernel.org,
	Nick Piggin <nickpiggin@yahoo.com.au>,
	David Rientjes <rientjes@google.com>,
	Pavel Emelianov <xemul@openvz.org>,
	Dhaval Giani <dhaval@linux.vnet.ibm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Subject: Re: [mm] [PATCH 3/4] Memory cgroup hierarchical reclaim (v4)
Date: Tue, 25 Nov 2008 20:31:25 +0530	[thread overview]
Message-ID: <492C1345.9090201@linux.vnet.ibm.com> (raw)
In-Reply-To: <20081125205832.38f8c365.nishimura@mxp.nes.nec.co.jp>

Daisuke Nishimura wrote:
> Hi.
> 
> Unfortunately, trying to hold cgroup_mutex at reclaim causes dead lock.
> 
> For example, when attaching a task to some cpuset directory(memory_migrate=on),
> 
>     cgroup_tasks_write (hold cgroup_mutex)
>         attach_task_by_pid
>             cgroup_attach_task
>                 cpuset_attach
>                     cpuset_migrate_mm
>                         :
>                         unmap_and_move
>                             mem_cgroup_prepare_migration
>                                 mem_cgroup_try_charge
>                                     mem_cgroup_hierarchical_reclaim
> 

Did lockdep complain about it?

1. We could probably move away from cgroup_mutex to a memory controller specific
mutex.
2. We could give up cgroup_mutex before migrate_mm, since it seems like we'll
hold the cgroup lock for long and holding it during reclaim will definitely be
visible to users trying to create/delete nodes.

I prefer to do (2), I'll look at the code more closely

> I think similar problem can also happen when removing memcg's directory.
> 

Why removing a directory? memcg (now) marks the directory as obsolete and we
check for obsolete directories and get/put references.

Thanks for the bug report!

-- 
	Balbir

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2008-11-25 15:01 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-16  8:10 [mm][PATCH 0/4] Memory cgroup hierarchy introduction (v4) Balbir Singh
2008-11-16  8:10 ` Balbir Singh
2008-11-16  8:10 ` [mm] [PATCH 1/4] Memory cgroup hierarchy documentation (v4) Balbir Singh
2008-11-16  8:10   ` Balbir Singh
2008-11-17  1:06   ` Li Zefan
2008-11-17  1:06     ` Li Zefan
2008-11-17  3:37     ` Balbir Singh
2008-11-17  3:37       ` Balbir Singh
2008-11-16  8:10 ` [mm] [PATCH 2/4] Memory cgroup resource counters for hierarchy (v4) Balbir Singh
2008-11-16  8:10   ` Balbir Singh
2008-11-16  8:10 ` [mm] [PATCH 3/4] Memory cgroup hierarchical reclaim (v4) Balbir Singh
2008-11-16  8:10   ` Balbir Singh
2008-11-25 11:58   ` Daisuke Nishimura
2008-11-25 11:58     ` Daisuke Nishimura
2008-11-25 15:01     ` Balbir Singh [this message]
2008-11-25 15:01       ` Balbir Singh
2008-11-26  2:14       ` Daisuke Nishimura
2008-11-26  2:14         ` Daisuke Nishimura
2008-12-09  2:59         ` KAMEZAWA Hiroyuki
2008-12-09  2:59           ` KAMEZAWA Hiroyuki
2008-12-09  3:48           ` Balbir Singh
2008-12-09  3:48             ` Balbir Singh
2008-12-09  3:57             ` KAMEZAWA Hiroyuki
2008-12-09  3:57               ` KAMEZAWA Hiroyuki
2008-12-09  3:53           ` Daisuke Nishimura
2008-12-09  3:53             ` Daisuke Nishimura
2008-12-09  3:58             ` KAMEZAWA Hiroyuki
2008-12-09  3:58               ` KAMEZAWA Hiroyuki
2008-11-16  8:11 ` [mm] [PATCH 4/4] Memory cgroup hierarchy feature selector (v4) Balbir Singh
2008-11-16  8:11   ` Balbir Singh
2008-11-17  4:46   ` Li Zefan
2008-11-17  4:46     ` Li Zefan
2008-11-17  4:49     ` Balbir Singh
2008-11-17  4:49       ` Balbir Singh
2008-11-18 23:28   ` Andrew Morton
2008-11-18 23:28     ` Andrew Morton
2008-11-19  5:04     ` Balbir Singh
2008-11-19  5:04       ` Balbir Singh

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=492C1345.9090201@linux.vnet.ibm.com \
    --to=balbir@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=dhaval@linux.vnet.ibm.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lizf@cn.fujitsu.com \
    --cc=menage@google.com \
    --cc=nickpiggin@yahoo.com.au \
    --cc=nishimura@mxp.nes.nec.co.jp \
    --cc=rientjes@google.com \
    --cc=xemul@openvz.org \
    --cc=yamamoto@valinux.co.jp \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.