From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail202.messagelabs.com (mail202.messagelabs.com [216.82.254.227]) by kanga.kvack.org (Postfix) with ESMTP id C928C8D0039 for ; Fri, 4 Mar 2011 04:04:52 -0500 (EST) Date: Fri, 4 Mar 2011 18:02:41 +0900 From: Daisuke Nishimura Subject: Re: [Bugme-new] [Bug 30432] New: rmdir on cgroup can cause hang tasks Message-Id: <20110304180241.b6f08243.nishimura@mxp.nes.nec.co.jp> In-Reply-To: <20110304000355.4f68bab1.akpm@linux-foundation.org> References: <20110304000355.4f68bab1.akpm@linux-foundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Daniel Poelzleithner Cc: Andrew Morton , containers@lists.osdl.org, bugzilla-daemon@bugzilla.kernel.org, bugme-daemon@bugzilla.kernel.org, linux-mm@kvack.org, KAMEZAWA Hiroyuki , Paul Menage , Daisuke Nishimura Hi, thank you for your report. I have some questions. On Fri, 4 Mar 2011 00:03:55 -0800 Andrew Morton wrote: > > (switched to email. Please respond via emailed reply-to-all, not via the > bugzilla web interface). > > On Fri, 4 Mar 2011 04:27:26 GMT bugzilla-daemon@bugzilla.kernel.org wrote: > > > https://bugzilla.kernel.org/show_bug.cgi?id=30432 > > > > Summary: rmdir on cgroup can cause hang tasks > > Product: Process Management > > Version: 2.5 > > Kernel Version: 2.6.37 > > Platform: All > > OS/Version: Linux > > Tree: Mainline > > Status: NEW > > Severity: high > > Priority: P1 > > Component: Other > > AssignedTo: process_other@kernel-bugs.osdl.org > > ReportedBy: bugzilla.kernel.org@poelzi.org > > Regression: No > > > > > > I just got following hang when removing an empty cgroup. I had still a shell in > > the cgroup that got emptied and removed. The shell as well as the release_agent > > and the program managing the cgroup hangs. > > You tried to remove a cgroup directory via release_agent(i.e. you enabled "notify_on_release", and make the release_agent remove the directory)? And can you show your /proc/cgroups ? Thanks, Daisuke Nishimura. > > The directory structure looks like: > > /sys/fs/cgroup/memory/usr_1000/psn_3234 > > > > ls on /sys/fs/cgroup/memory but ls on /sys/fs/cgroup/memory/usr_1000 hangs. > > > > > > [ 5065.280666] SysRq : Changing Loglevel > > [ 5065.282574] Loglevel set to 5 > > [ 5066.139879] SysRq : Show Blocked State > > [ 5066.141848] task PC stack pid father > > [ 5066.141925] zsh D ffff880071520398 0 8719 3589 0x00000084 > > [ 5066.141937] ffff880002059bd8 0000000000000086 ffff880002059bb8 > > ffffffff00000000 > > [ 5066.143971] 00000000000139c0 ffff880071520000 ffff880071520398 > > ffff880002059fd8 > > [ 5066.146049] ffff8800715203a0 00000000000139c0 ffff880002058010 > > 00000000000139c0 > > [ 5066.148183] Call Trace: > > [ 5066.149853] [] __mutex_lock_slowpath+0xf7/0x180 > > [ 5066.149853] [] ? vsnprintf+0x416/0x5a0 > > [ 5066.149853] [] mutex_lock+0x2b/0x50 > > [ 5066.149853] [] do_lookup+0x102/0x180 > > [ 5066.149853] [] link_path_walk+0x4dd/0x9e0 > > [ 5066.149853] [] path_walk+0x67/0xe0 > > [ 5066.149853] [] do_path_lookup+0x5b/0xa0 > > [ 5066.149853] [] user_path_at+0x57/0xa0 > > [ 5066.149853] [] ? do_page_fault+0x1f0/0x4f0 > > [ 5066.149853] [] ? kill_pid_info+0x2c/0x60 > > [ 5066.149853] [] vfs_fstatat+0x3c/0x80 > > [ 5066.149853] [] vfs_stat+0x1b/0x20 > > [ 5066.149853] [] sys_newstat+0x24/0x50 > > [ 5066.149853] [] ? audit_syscall_entry+0x1df/0x280 > > [ 5066.149853] [] system_call_fastpath+0x16/0x1b > > [ 5066.149853] ulatencyd D ffff88007a0bc7d8 0 9004 4809 0x00000084 > > [ 5066.149853] ffff880070b55cd8 0000000000000082 0000000000000082 > > ffff88002c9d16c0 > > [ 5066.149853] 00000000000139c0 ffff88007a0bc440 ffff88007a0bc7d8 > > ffff880070b55fd8 > > [ 5066.149853] ffff88007a0bc7e0 00000000000139c0 ffff880070b54010 > > 00000000000139c0 > > [ 5066.149853] Call Trace: > > [ 5066.149853] [] __mutex_lock_slowpath+0xf7/0x180 > > [ 5066.149853] [] ? exec_permission+0x44/0x90 > > [ 5066.149853] [] mutex_lock+0x2b/0x50 > > [ 5066.149853] [] do_last+0x148/0x650 > > [ 5066.149853] [] do_filp_open+0x205/0x5f0 > > [ 5066.149853] [] ? path_put+0x31/0x40 > > [ 5066.149853] [] ? alloc_fd+0x10a/0x150 > > [ 5066.149853] [] do_sys_open+0x69/0x110 > > [ 5066.149853] [] sys_open+0x20/0x30 > > [ 5066.149853] [] system_call_fastpath+0x16/0x1b > > [ 5066.149853] lua D ffff88002c91b118 0 9487 1 0x00000080 > > [ 5066.149853] ffff880078f6db08 0000000000000086 ffff88002c91b118 > > ffff880000000000 > > [ 5066.149853] 00000000000139c0 ffff88002c91ad80 ffff88002c91b118 > > ffff880078f6dfd8 > > [ 5066.149853] ffff88002c91b120 00000000000139c0 ffff880078f6c010 > > 00000000000139c0 > > [ 5066.149853] Call Trace: > > [ 5066.149853] [] schedule_timeout+0x215/0x2f0 > > [ 5066.149853] [] ? task_rq_lock+0x5d/0xa0 > > [ 5066.149853] [] ? try_to_wake_up+0xc3/0x410 > > [ 5066.149853] [] wait_for_common+0xdb/0x180 > > [ 5066.149853] [] ? default_wake_function+0x0/0x20 > > [ 5066.244366] [] wait_for_completion+0x1d/0x20 > > [ 5066.244366] [] synchronize_sched+0x55/0x60 > > [ 5066.244366] [] ? wakeme_after_rcu+0x0/0x20 > > [ 5066.244366] [] mem_cgroup_start_move+0x93/0xa0 > > [ 5066.244366] [] mem_cgroup_force_empty+0xdb/0x640 > > [ 5066.244366] [] mem_cgroup_pre_destroy+0x14/0x20 > > [ 5066.244366] [] cgroup_rmdir+0xc1/0x560 > > [ 5066.244366] [] ? autoremove_wake_function+0x0/0x40 > > [ 5066.244366] [] vfs_rmdir+0xb4/0x110 > > [ 5066.244366] [] do_rmdir+0x133/0x140 > > [ 5066.244366] [] ? call_rcu_sched+0x15/0x20 > > [ 5066.244366] [] ? audit_syscall_entry+0x1df/0x280 > > [ 5066.244366] [] sys_rmdir+0x16/0x20 > > [ 5066.244366] [] system_call_fastpath+0x16/0x1b > > -- > 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/ . > Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ > Don't email: email@kvack.org -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org