Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757484AbZCMBFT (ORCPT ); Thu, 12 Mar 2009 21:05:19 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754271AbZCMBFD (ORCPT ); Thu, 12 Mar 2009 21:05:03 -0400 Received: from metis.ext.pengutronix.de ([92.198.50.35]:36220 "EHLO metis.ext.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754139AbZCMBFB (ORCPT ); Thu, 12 Mar 2009 21:05:01 -0400 Date: Fri, 13 Mar 2009 02:04:58 +0100 From: Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= To: Thomas Gleixner Cc: LKML , rt-users , Ingo Molnar , Steven Rostedt , Peter Zijlstra , Carsten Emde , Clark Williams Subject: some ARM fixes for 2.6.29-rc7-rt1 Message-ID: <20090313010458.GB1192@pengutronix.de> References: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) X-SA-Exim-Connect-IP: 2001:6f8:1178:2:215:17ff:fe12:23b0 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3748 Lines: 97 Hello, On Thu, Mar 12, 2009 at 08:17:50PM +0100, Thomas Gleixner wrote: > We are pleased to announce the next update to our new preempt-rt > series. It contains only one new patch: > > - port forward to 2.6.29-rc7 > - disable CONFIG_MAXCPUS for now (undebugged runtime bug) > - fix CONFIG_HIGHMEM problems > - fix netfilter problems > - make debugobjects -rt safe > - various build fixes on top of 2.6.29-rc7-rc1 I did some ARM related fixes that you can find at git://git.pengutronix.de/git/ukl/linux-2.6.git v2.6.29-rc7-rt1-pu The top commit currently isn't pretty as it contains several independant fixes. Some of them are netX specific so you probably don't need them, but they shouldn't hurt you either. I will update this branch as I continue working in a non-fast-forward manner. I use TopGit to manage this branch, you might want to use it, too, if you intend to follow my work. My status quo is: Testing tracer sched_switch: PASSED Testing tracer function: PASSED Testing tracer irqsoff: .. no entries found ..FAILED! Testing tracer preemptoff: .. no entries found ..FAILED! Testing tracer preemptirqsoff: .. no entries found ..<4>------------[ cut here ]------------ WARNING: at /ptx/work/octopus/WORK_2_A/ukl/gsrc/linux-2.6/kernel/trace/trace.c:683 warn_slowpath+0x18/0xa0() Modules linked in: [] (dump_stack+0x0/0x18) from [] (warn_slowpath+0x6c/0xa0) [] (warn_slowpath+0x0/0xa0) from [] (tracing_start+0x60/0xdc) r3:ffffffff r2:00000000 r7:c074aaf0 r6:c0748a0c r5:60000013 r4:c074aac8 [] (tracing_start+0x0/0xdc) from [] (trace_selftest_startup_preemptirqsoff+0x1ac/0x1d8) r5:c1c1a000 r4:ffffffff [] (trace_selftest_startup_preemptirqsoff+0x0/0x1d8) from [] (register_tracer+0x118/0x240) [] (register_tracer+0x0/0x240) from [] (init_irqsoff_tracer+0x24/0x38) r7:c000eb98 r6:00000000 r5:c001c44c r4:c001c2b8 [] (init_irqsoff_tracer+0x0/0x38) from [] (__exception_text_end+0x5c/0x1a4) [] (__exception_text_end+0x0/0x1a4) from [] (kernel_init+0x90/0x1c0) r8:00000000 r7:00000000 r6:00000000 r5:c001c44c r4:c001c2b8 [] (kernel_init+0x0/0x1c0) from [] (do_exit+0x0/0x798) r5:00000000 r4:00000000 ---[ end trace da227214a82491b7 ]--- FAILED! The warning is triggered here because tracing_start is called twice in trace_selftest_startup_preemptirqsoff's error path[1]. I researched for some time now why the tracers doesn't pass the self-tests, but without success. It's bed time and any hints are welcome. Other than that my machine boots and reports from time to time scheduling while atomic and sleeping function called from invalid context at kernel/rtmutex.c:683 Both errors probably happen because some spin_locks need to be converted to raw_spin_locks. Will look later. I provide this uncooked state to prevent duplicate work, so please excuse the bad code and commit history. If it upsets you, please send patches :-) Best regards Uwe [1] if trace_test_buffer sets count = 0 or returns != 0 in kernel/trace/trace_selftest.c:440, the code flow is: tracing_start() goto out; ... out: trace->reset(tr); tracing_start(); I think the last tracing_start is wrong, but I didn't check deeply. -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | -- 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/