From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964888AbXGQVlj (ORCPT ); Tue, 17 Jul 2007 17:41:39 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S936646AbXGQVlV (ORCPT ); Tue, 17 Jul 2007 17:41:21 -0400 Received: from smtp1.Stanford.EDU ([171.67.22.28]:33323 "EHLO smtp1.stanford.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S936463AbXGQVlR (ORCPT ); Tue, 17 Jul 2007 17:41:17 -0400 Subject: Re: v2.6.21.5-rt19 (sched_getaffinity?) From: Fernando Lopez-Lezcano To: Ingo Molnar Cc: Gabriel C , Carsten Emde , "jcaceres@ccrma.Stanford.EDU" , Steven Rostedt , RT-Users , LKML , Thomas Gleixner , Rui Nuno Capela , nando@ccrma.Stanford.EDU In-Reply-To: <20070717201242.GB2426@elte.hu> References: <1183582155.3291.160.camel@chaos> <9609.194.65.103.1.1183731007.squirrel@www.rncbc.org> <1183758545.20747.34.camel@cmn3.stanford.edu> <20070707092401.GB21234@elte.hu> <1183934205.11854.11.camel@cmn3.stanford.edu> <46917678.70700@googlemail.com> <1183957703.12681.4.camel@cmn3.stanford.edu> <20070717193223.GJ26283@elte.hu> <1184702217.21931.19.camel@cmn3.stanford.edu> <20070717201242.GB2426@elte.hu> Content-Type: multipart/mixed; boundary="=-+0HCL//ZYi74UTRWYrmi" Date: Tue, 17 Jul 2007 14:41:13 -0700 Message-Id: <1184708473.21931.22.camel@cmn3.stanford.edu> Mime-Version: 1.0 X-Mailer: Evolution 2.8.3 (2.8.3-2.fc6) Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org --=-+0HCL//ZYi74UTRWYrmi Content-Type: text/plain Content-Transfer-Encoding: 7bit On Tue, 2007-07-17 at 22:12 +0200, Ingo Molnar wrote: > * Fernando Lopez-Lezcano wrote: > > > On Tue, 2007-07-17 at 21:32 +0200, Ingo Molnar wrote: > > > * Fernando Lopez-Lezcano wrote: > > > > > > > I do get flash 9 (I know, not the best example) and tomboy to hang as > > > > reported by one of my Planet CCRMA users - flash 9 tested working on > > > > stock fedora 7 kernel - and both seem to hang in the same system call: > > > > > > > > sched_getaffinity(3528, 32, > > > > > > > > Full output of strace attached for both cases. > > > > > > hm, that's weird. Is it completely unkillable at that time? Could you do > > > a few things: enable CONFIG_PROVE_LOCKING (lockdep), and also try to get > > > a full task state dump via: > > > > > > echo t > /proc/sysrq-trigger > > > > Trace attached... the process stays in D state no matter what. Just in case, it repeats under 2.6.22.1-rt4 (< rt4 did not boot into my t61 laptop, this one at least does that). I'm including the (probably redundant) dump. I have to build a new kernel with prove locking... -- Fernando > hm, seems to be related to: > > Jul 17 12:51:18 localhost kernel: sched-powersa D [f0aaf930] 00000005 6584 3420 3407 > > which blocks the cpu-hotplug mutex: > > Jul 17 12:51:18 localhost kernel: Call Trace: > Jul 17 12:51:18 localhost kernel: [] schedule+0xe0/0xfa > Jul 17 12:51:18 localhost kernel: [] rt_mutex_slowlock+0x164/0x20b > Jul 17 12:51:18 localhost kernel: [] rt_mutex_lock+0x3c/0x3f > Jul 17 12:51:18 localhost kernel: [] sched_getaffinity+0x14/0x94 > Jul 17 12:51:18 localhost kernel: [] __synchronize_sched+0xd/0x5a > Jul 17 12:51:18 localhost kernel: [] arch_reinit_sched_domains+0x18/0x33 > Jul 17 12:51:18 localhost kernel: [] sched_power_savings_store+0x3c/0x49 > Jul 17 12:51:18 localhost kernel: [] sysdev_class_store+0x1e/0x22 > Jul 17 12:51:18 localhost kernel: [] sysfs_write_file+0xa3/0xc6 > Jul 17 12:51:18 localhost kernel: [] vfs_write+0xa8/0x154 > Jul 17 12:51:18 localhost kernel: [] sys_write+0x41/0x67 > Jul 17 12:51:18 localhost kernel: [] syscall_call+0x7/0xb > > and firefox blocks on the same mutex too: > > Jul 17 12:51:18 localhost kernel: firefox-bin D [efc44670] 00000012 6368 4388 1 > Jul 17 12:51:18 localhost kernel: Call Trace: > Jul 17 12:51:18 localhost kernel: [] schedule+0xe0/0xfa > Jul 17 12:51:18 localhost kernel: [] rt_mutex_slowlock+0x164/0x20b > Jul 17 12:51:18 localhost kernel: [] rt_mutex_lock+0x3c/0x3f > Jul 17 12:51:18 localhost kernel: [] sched_getaffinity+0x14/0x94 > Jul 17 12:51:18 localhost kernel: [] sys_sched_getaffinity+0x1f/0x41 > Jul 17 12:51:18 localhost kernel: [] syscall_call+0x7/0xb > Jul 17 12:51:18 localhost kernel: [] 0xb7f0f410 > > does lockdep pinpoint anything? > > Ingo --=-+0HCL//ZYi74UTRWYrmi Content-Disposition: attachment; filename=trace2.txt.gz Content-Type: application/x-gzip; name=trace2.txt.gz Content-Transfer-Encoding: base64 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 --=-+0HCL//ZYi74UTRWYrmi--