Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757215AbYAQTO7 (ORCPT ); Thu, 17 Jan 2008 14:14:59 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754781AbYAQTOs (ORCPT ); Thu, 17 Jan 2008 14:14:48 -0500 Received: from rgminet01.oracle.com ([148.87.113.118]:39690 "EHLO rgminet01.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753128AbYAQTOr (ORCPT ); Thu, 17 Jan 2008 14:14:47 -0500 Date: Thu, 17 Jan 2008 11:14:01 -0800 From: Randy Dunlap To: Peter Zijlstra Cc: Andrew Morton , linux-kernel@vger.kernel.org, mingo@elte.hu Subject: Re: 2.6.24-rc8-mm1 (BUG: sched_rt) Message-Id: <20080117111401.354f8949.randy.dunlap@oracle.com> In-Reply-To: <1200589864.5159.6.camel@twins> References: <20080117023514.9df393cf.akpm@linux-foundation.org> <20080117084833.dc946466.randy.dunlap@oracle.com> <1200589864.5159.6.camel@twins> Organization: Oracle Linux Eng. X-Mailer: Sylpheed 2.4.7 (GTK+ 2.8.10; x86_64-unknown-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: AAAAAQAAAAI= X-Brightmail-Tracker: AAAAAQAAAAI= X-Whitelist: TRUE X-Whitelist: TRUE Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3708 Lines: 88 On Thu, 17 Jan 2008 18:11:04 +0100 Peter Zijlstra wrote: > > On Thu, 2008-01-17 at 08:48 -0800, Randy Dunlap wrote: > > On Thu, 17 Jan 2008 02:35:14 -0800 Andrew Morton wrote: > > > > > > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc8/2.6.24-rc8-mm1/ > > > > Booting on x86_64 SMP gives me: > > > > ------------[ cut here ]------------ > > kernel BUG at kernel/sched_rt.c:228! > > invalid opcode: 0000 [1] SMP > > last sysfs file: /sys/devices/pci0000:40/0000:40:0c.0/0000:41:00.0/0000:42:08.0/class > > CPU 2 > > Modules linked in: parport_pc lp parport tg3 cciss ehci_hcd ohci_hcd uhci_hcd > > Pid: 12738, comm: 5-1.test Not tainted 2.6.24-rc8-mm1 #1 > > RIP: 0010:[] [] update_curr_rt+0x27/0x87 > > RSP: 0018:ffff8101e6805e38 EFLAGS: 00010093 > > RAX: 0000000000000000 RBX: ffff81027f8591e0 RCX: ffff81000100fb80 > > RDX: 0000000000000000 RSI: ffff81026eb8b1e0 RDI: ffff810001014980 > > RBP: ffff8101e6805e48 R08: ffffffff8067d960 R09: 00000000000031c1 > > R10: 0000000000000000 R11: 0000000000000246 R12: ffff81026eb8b1e0 > > R13: ffff810001014980 R14: 0000000000000001 R15: 00000000ffffffff > > FS: 0000000041a07940(0063) GS:ffff81027f80d700(0000) knlGS:0000000000000000 > > CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b > > CR2: 000000338b00c2d0 CR3: 0000000254169000 CR4: 00000000000006e0 > > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > > DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 > > Process 5-1.test (pid: 12738, threadinfo ffff8101e6804000, task ffff81026c8de8f0) > > Stack: 0000000000000000 ffff81026eb8b348 ffff8101e6805e78 ffffffff80231c9b > > 0000000000000000 ffff81026eb8b1e0 ffff810001014980 ffff81026eb8b1e0 > > ffff8101e6805e98 ffffffff8022f1bb ffff8101e6805ea8 ffff810001014980 > > Call Trace: > > [] dequeue_task_rt+0x1f/0x5e > > [] dequeue_task+0x13/0x1e > > [] deactivate_task+0x22/0x2a > > [] sched_setscheduler+0x22e/0x32f > > [] do_sched_setscheduler+0x5f/0x6e > > [] sys_sched_setscheduler+0x14/0x18 > > [] tracesys+0xdc/0xe1 > > > > > > Code: 48 89 c8 c3 55 48 89 e5 53 48 83 ec 08 48 8b 9f a8 07 00 00 8b 83 b0 01 00 00 48 8b 8b 98 01 00 00 83 f8 01 74 09 83 f8 02 74 04 <0f> 0b eb fe 48 8b 97 c8 07 00 00 48 2b 53 68 b8 00 00 00 00 48 > > RIP [] update_curr_rt+0x27/0x87 > > RSP > > ---[ end trace 792ff0e66da42f45 ]--- > > > Hmm, that would be me messing up in : 4c121cce > > - if (!task_has_rt_policy(curr)) > - return; > + BUG_ON(!task_has_rt_policy(curr)); > > > Does reverting that fix it? Ack. Andrew, do you want this hotfix? --- From: Peter Zijlstra Revert the BUG_ON(). Condition is OK and happens. Tested-by: Randy Dunlap --- kernel/sched_rt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- linux-2.6.24-rc8-mm1.orig/kernel/sched_rt.c +++ linux-2.6.24-rc8-mm1/kernel/sched_rt.c @@ -225,7 +225,8 @@ static void update_curr_rt(struct rq *rq struct rt_rq *rt_rq = rt_rq_of_se(rt_se); u64 delta_exec; - BUG_ON(!task_has_rt_policy(curr)); + if (!task_has_rt_policy(curr)) + return; delta_exec = rq->clock - curr->se.exec_start; if (unlikely((s64)delta_exec < 0)) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/