From mboxrd@z Thu Jan 1 00:00:00 1970 From: Grygorii Strashko Subject: Re: acmesystems Arietta (AT91SAM9G25) Date: Fri, 4 Mar 2016 12:11:34 +0200 Message-ID: <56D95F56.3080904@ti.com> References: <20160229081039.GC2613@pengutronix.de> <20160229161826.GD12917@jcartwri.amer.corp.natinst.com> <56D52CBB.2020003@sysnux.pf> <20160301153833.GA1607@jcartwri.amer.corp.natinst.com> <20160301160005.GB23985@piout.net> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE To: Jean-Denis Girard , Return-path: Received: from arroyo.ext.ti.com ([192.94.94.40]:41030 "EHLO arroyo.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751416AbcCDKLs (ORCPT ); Fri, 4 Mar 2016 05:11:48 -0500 In-Reply-To: Sender: linux-rt-users-owner@vger.kernel.org List-ID: On 03/04/2016 04:00 AM, Jean-Denis Girard wrote: > Hi, > > Le 01/03/2016 06:00, Alexandre Belloni a =E9crit : >> I also have that branch for preempt-rt on at91: >> >> https://github.com/alexandrebelloni/linux/tree/at91-rt > > I've not been able to apply the 13 patches on 4.4.3-rt9 due to > conflicts, and then kernel would not compile. > > So I tried your at91-rt branch, Alexandre, and I'm pleased to report > that it works! > > I'm just getting this warning: > > at91_i2c f8014000.i2c: using dma1chan0 (tx) and dma1chan1 (rx) for DM= A > transfers > at91_i2c f8014000.i2c: AT91 i2c bus driver (hw version: 0x402). > clocksource: Switched to clocksource tcb_clksrc > ------------[ cut here ]------------ > WARNING: CPU: 0 PID: 1 at kernel/locking/rtmutex.c:2008 > rt_mutex_trylock+0x28/0xec() > Modules linked in: > CPU: 0 PID: 1 Comm: swapper Not tainted 4.4.1-rt5 #1 > Hardware name: Atmel AT91SAM9 > [] (unwind_backtrace) from [] (show_stack+0x10/0x= 14) > [] (show_stack) from [] (warn_slowpath_common+0x8= 0/0xa8) > [] (warn_slowpath_common) from [] > (warn_slowpath_null+0x18/0x20) > [] (warn_slowpath_null) from [] > (rt_mutex_trylock+0x28/0xec) > [] (rt_mutex_trylock) from [] > (rt_spin_trylock_irqsave+0x10/0x1) > [] (rt_spin_trylock_irqsave) from [] > (clk_enable_lock+0x10/0xe4) > [] (clk_enable_lock) from [] (clk_disable+0x1c/0x= 34) > [] (clk_disable) from [] (tc_shutdown+0x2c/0x3c) > [] (tc_shutdown) from [] (tc_set_oneshot+0x20/0x5= 0) > [] (tc_set_oneshot) from [] > (clockevents_switch_state+0x8c/0x12) > [] (clockevents_switch_state) from [] > (tick_switch_to_oneshot+0) > [] (tick_switch_to_oneshot) from [] > (hrtimer_run_queues+0x34/0x) > [] (hrtimer_run_queues) from [] > (run_local_timers+0x8/0x14) > [] (run_local_timers) from [] > (update_process_times+0x2c/0x5c) > [] (update_process_times) from [] > (tick_handle_periodic+0x10/0x) > [] (tick_handle_periodic) from [] (ch2_irq+0x20/0= x28) > [] (ch2_irq) from [] > (handle_irq_event_percpu+0x40/0x138) > [] (handle_irq_event_percpu) from [] > (handle_irq_event+0x68/0x9) > [] (handle_irq_event) from [] > (handle_fasteoi_irq+0xa8/0x1a4) > [] (handle_fasteoi_irq) from [] > (generic_handle_irq+0x18/0x28) > [] (generic_handle_irq) from [] > (__handle_domain_irq+0x7c/0xa0) > [] (__handle_domain_irq) from [] (__irq_svc+0x50/= 0x98) > [] (__irq_svc) from [] (printascii+0x2c/0x58) > [] (printascii) from [] (early_console_write+0x30= /0x214) > [] (early_console_write) from [] > (call_console_drivers.constpro) > [] (call_console_drivers.constprop.13) from [] > (console_unlock+) > [] (console_unlock) from [] (vprintk_emit+0x448/0= x484) > [] (vprintk_emit) from [] (vprintk_default+0x1c/0= x24) > [] (vprintk_default) from [] (printk+0x6c/0x80) > [] (printk) from [] (__clocksource_select+0x12c/0= x14c) > [] (__clocksource_select) from [] > (clocksource_done_booting+0x2) > [] (clocksource_done_booting) from [] > (do_one_initcall+0x104/0x) > [] (do_one_initcall) from [] > (kernel_init_freeable+0xfc/0x1c0) > [] (kernel_init_freeable) from [] (kernel_init+0x= 8/0xe4) > [] (kernel_init) from [] (ret_from_fork+0x14/0x3c= ) > ---[ end trace 0000000000000001 ]--- > > But the arietta seems to run fine. I'm getting about 100 - 250 =B5s > latencies on a simple GPIO test. > Yeah. You can't use CLK framework in atomic context on -RT [1], [2]. [1] http://www.spinics.net/lists/linux-rt-users/msg13653.html [2] https://lkml.org/lkml/2015/10/20/783 --=20 regards, -grygorii -- To unsubscribe from this list: send the line "unsubscribe linux-rt-user= s" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html