From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754691AbYFVQCf (ORCPT ); Sun, 22 Jun 2008 12:02:35 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752447AbYFVQC1 (ORCPT ); Sun, 22 Jun 2008 12:02:27 -0400 Received: from an-out-0708.google.com ([209.85.132.241]:7653 "EHLO an-out-0708.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752328AbYFVQC1 (ORCPT ); Sun, 22 Jun 2008 12:02:27 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; b=SquptqMbsQnpj0BHdnTG6SzhT1qbZZlyWxPB104MzPSU8CH0/jLNIVJcAMc/FvL+F9 GRq/weRmbe2fVveIdjYe0eGlzsiob2DA+XH5WMXI7X25073zHVwQvTYpulF14OM2DJwv 1ci5DBePV0Mo4CkfU6bnMy3cb8tXYLfwv3FPo= Date: Sun, 22 Jun 2008 20:02:02 +0400 From: Cyrill Gorcunov To: KOSAKI Motohiro Cc: Vegard Nossum , Paul Menage , containers@lists.linux-foundation.org, linux-kernel@vger.kernel.org, Paul Jackson Subject: Re: v2.6.26-rc7/cgroups: circular locking dependency Message-ID: <20080622160201.GC7285@cvg> References: <20080621173859.GA6846@damson.getinternet.no> <2f11576a0806220834m3572ee80i72229cb9a1613558@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2f11576a0806220834m3572ee80i72229cb9a1613558@mail.gmail.com> User-Agent: Mutt/1.5.16 (2007-06-09) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [KOSAKI Motohiro - Mon, Jun 23, 2008 at 12:34:04AM +0900] | CC'ed Paul Jackson | | it seems typical ABBA deadlock. | I think cpuset use cgrou_lock() by mistake. | | IMHO, cpuset_handle_cpuhp() sholdn't use cgroup_lock() and | shouldn't call rebuild_sched_domains(). | | | -> #1 (cgroup_mutex){--..}: | [] __lock_acquire+0xf45/0x1040 | [] lock_acquire+0x98/0xd0 | [] mutex_lock_nested+0xb1/0x300 | [] cgroup_lock+0xf/0x20 cgroup_lock | [] cpuset_handle_cpuhp+0x20/0x180 | [] notifier_call_chain+0x37/0x70 | [] __raw_notifier_call_chain+0x19/0x20 | [] _cpu_down+0x78/0x240 cpu_hotplug.lock | [] cpu_down+0x2b/0x40 cpu_add_remove_lock | [] store_online+0x39/0x80 | [] sysdev_store+0x2b/0x40 | [] sysfs_write_file+0xa2/0x100 | [] vfs_write+0x96/0x130 | [] sys_write+0x3d/0x70 | [] sysenter_past_esp+0x78/0xd1 | [] 0xffffffff | | -> #0 (&cpu_hotplug.lock){--..}: | [] __lock_acquire+0xaf5/0x1040 | [] lock_acquire+0x98/0xd0 | [] mutex_lock_nested+0xb1/0x300 | [] get_online_cpus+0x2c/0x40 cpu_hotplug.lock | [] rebuild_sched_domains+0x7d/0x3a0 | [] cpuset_common_file_write+0x204/0x440 cgroup_lock | [] cgroup_file_write+0x67/0x130 | [] vfs_write+0x96/0x130 | [] sys_write+0x3d/0x70 | [] sysenter_past_esp+0x78/0xd1 | [] 0xffffffff | | | > Hi, | > | > I decided to see what cgroups is all about, and followed the instructions | > in Documentation/cgroups.txt :-) It happened when I did this: | > | > [root@damson /dev/cgroup/Vegard 0] | > # echo 1 > cpuset.cpus | > | > I can also provide the kernel config if necessary. | > | > | > Vegard | > | > | > ======================================================= | > [ INFO: possible circular locking dependency detected ] | > 2.6.26-rc7 #25 | > ------------------------------------------------------- | > bash/10032 is trying to acquire lock: | > (&cpu_hotplug.lock){--..}, at: [] get_online_cpus+0x2c/0x40 | > | > but task is already holding lock: | > (cgroup_mutex){--..}, at: [] cgroup_lock+0xf/0x20 | > | > which lock already depends on the new lock. | Thanks Kosaki! - Cyrill -