From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261576AbULITUN (ORCPT ); Thu, 9 Dec 2004 14:20:13 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261585AbULITUN (ORCPT ); Thu, 9 Dec 2004 14:20:13 -0500 Received: from bgm-24-94-57-164.stny.rr.com ([24.94.57.164]:900 "EHLO localhost.localdomain") by vger.kernel.org with ESMTP id S261576AbULITUB (ORCPT ); Thu, 9 Dec 2004 14:20:01 -0500 Subject: Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm3-V0.7.32-12 From: Steven Rostedt To: Ingo Molnar Cc: Rui Nuno Capela , LKML , Lee Revell , Mark Johnson , "K.R. Foley" , Florian Schmidt , Michal Schmidt , Fernando Pablo Lopez-Lezcano , emann@mrv.com, Peter Zijlstra In-Reply-To: <1102602829.25841.393.camel@localhost.localdomain> References: <20041124101626.GA31788@elte.hu> <20041203205807.GA25578@elte.hu> <20041207132927.GA4846@elte.hu> <20041207141123.GA12025@elte.hu> <1102526018.25841.308.camel@localhost.localdomain> <32950.192.168.1.5.1102529664.squirrel@192.168.1.5> <1102532625.25841.327.camel@localhost.localdomain> <32788.192.168.1.5.1102541960.squirrel@192.168.1.5> <1102543904.25841.356.camel@localhost.localdomain> <20041209093211.GC14516@elte.hu> <20041209131317.GA31573@elte.hu> <1102602829.25841.393.camel@localhost.localdomain> Content-Type: text/plain Content-Transfer-Encoding: 7bit Organization: Kihon Technologies Date: Thu, 09 Dec 2004 14:19:52 -0500 Message-Id: <1102619992.3882.9.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.0.2 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2004-12-09 at 09:33 -0500, Steven Rostedt wrote: > On Thu, 2004-12-09 at 14:13 +0100, Ingo Molnar wrote: > > * Ingo Molnar wrote: > > > > here's the full patch against a recent tree, or download the -32-12 > > patch from the usual place: > > > > http://redhat.com/~mingo/realtime-preempt/ > > Ingo, > > I just tried out your changes with both my sillycaches test as well as > my real modules that had the original problems. They both work fine. > > I'll ever reboot my main machine now (SMP) and run your kernel there > too, and see how it works. Hi Ingo, I just tried it on my main machine (SMP Dual Athlon MP, with a Gig of RAM), and I just got the following dump on boot-up. It never made it to a prompt. Freeing unused kernel memory: 216k freed BUG: sleeping function called from invalid context IRQ 14(814) at arch/i386/mm/highmem.c:5 in_atomic():0 [00000000], irqs_disabled():1 [] __might_sleep+0xd4/0xf0 (8) [] kmap+0x1f/0x50 (36) [] bounce_copy_vec+0x28/0x70 (16) [] copy_to_high_bio_irq+0x5c/0x70 (32) [] __bounce_end_io_read+0x41/0x50 (28) [] bounce_end_io_read+0x28/0x30 (20) [] bio_endio+0x59/0x80 (12) [] ide_end_request+0x2c/0xc0 (16) [] __end_that_request_first+0x1c2/0x230 (12) [] up_mutex+0xaf/0x100 (16) [] __ide_end_request+0x77/0x170 (36) [] ide_end_request+0x65/0xc0 (36) [] task_end_request+0x40/0x80 (36) [] task_in_intr+0xf1/0x110 (24) [] task_in_intr+0x0/0x110 (20) [] ide_intr+0xe1/0x170 (12) [] handle_IRQ_event+0x5b/0xd0 (32) [] do_hardirq+0xa3/0x100 (48) [] do_irqd+0x116/0x1e0 (36) [] do_irqd+0x0/0x1e0 (44) [] kthread+0xb7/0xc0 (4) [] kthread+0x0/0xc0 (28) [] kernel_thread_helper+0x5/0x10 (16) --------------------------- | preempt count: 00000001 ] | 1-level deep critical section nesting: ---------------------------------------- .. [] .... print_traces+0x17/0x50 .....[<00000000>] .. ( <= 0x0) This looks like it was triggered by bounce_copy_vec calling kmap_atomic which is now just kmap with irqs disabled. Does this need to change to __kmap_atomic? Is this also used to make things more preemptible, and start removing the local_irq_saves? I'd like to know so that you don't need to make the patches yourself and I can handle things like this, but I need to know what the general ideas are. Also, am I the only one that has highmem support enabled, because this looks like this bug would have been triggered by anyone. Thanks, -- Steve