All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Bultel <tbultel@free.fr>
To: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Cc: nicolas Mabire <nicolas.mabire@basystemes.fr>, xenomai@xenomai.org
Subject: Re: [Xenomai] IMX kernel 3.0.35_4.1.0 + adeos-ipipe-3.0.43-mx6q-1.18-14 -> very slow boot
Date: Wed, 12 Nov 2014 14:17:11 +0100	[thread overview]
Message-ID: <54635DD7.9090800@free.fr> (raw)
In-Reply-To: <20141111200358.GL17476@sisyphus.hd.free.fr>

Le 11/11/2014 21:03, Gilles Chanteperdrix a écrit :
> On Tue, Nov 11, 2014 at 08:57:34PM +0100, Thierry Bultel wrote:
>> Le 10/11/2014 13:36, Gilles Chanteperdrix a écrit :
>>> You can use printascii in the timer interrupt acknowledge routine to
>>> print a character every HZ ticks, this will give bad latency, but
>>> should work.
>>>
>>
>> For unknown reason, the kernel gets stuck after
>> "console [tty0] enabled, bootconsole disabled" if I use printascii
>> in do_local_timer().
>> earlyprintk seems broken as well.
>
> Without doing this, does earlyprintk work?

No it does not. In fact, this kernel is strange with early debug.
Namely, even without earlyprintk, when it comes to disable the 
bootconsole to use the normal one, it uses then re-prints everything was 
printed before, making think that it has restarted from the beginning.

I confirm that calling printascii in do_local_timer() leads to a kernel 
panic. Same thing if I use __ipipe_serial_debug instead.
I have used a counter (one per cpu) to start logging after 30000 ticks 
and it crashes after that delay.

>
>>> If this is indeed the broadcast timer, it should never tick, because
>>> we should never switch to broadcast mode.
>>
>> I have found out why it was ticking.
>> This is due to tick_broadcast_switch_to_oneshot() in
>> kernel/time/tick-broadcast.c
>>
>> This sets the oneshot mode to the time, and leads to a call of
>> mxc_set_mode()
>>
>> In that function, there is that comment:
>> 	if (mode != clockevent_mode) {
>> 		/* Set event time into far-far future */
>> 		if (timer_is_v2())
>>
>> ... and I estimate "far-far future" to be about 20 minutes.
>>
>> As a correction, I have made that change to
>> tick_broadcast_switch_to_oneshot():
>>
>> @@ -603,11 +610,21 @@ void tick_broadcast_setup_oneshot(struct
>> clock_event_device *bc)
>>   {
>>          int cpu = smp_processor_id();
>>
>> +#if defined(CONFIG_IPIPE) && defined(CONFIG_SMP)
>> +       printk(KERN_ALERT "%s cpu %d -> dev %s
>> IGNORED\n",__PRETTY_FUNCTION__, cpu, bc->name);
>> +       return;
>> +#endif
>>
>> ... and that makes the job, the iMX Timer is no longer armed.
>> What do you think about it ?
>>
>> Still currently stress-testing to see if things are getting better.
>
> I am afraid this should not change anything. This timer ticking is
> not a problem by itself, it is a problem if the twd gets disabled.
>
> Note that we discovered in another thread that CONFIG_TRACE_IRQFLAGS
> should not be enabled. So, if it is enabled, you should disable it.
>
> Also, are you running with all I-pipe and Xenomai debugs?

That is how I am running now. For now, I am unable to reproduce the 
freeze. Still testing.

>



  reply	other threads:[~2014-11-12 13:17 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-05 20:38 [Xenomai] IMX kernel 3.0.35_4.1.0 + adeos-ipipe-3.0.43-mx6q-1.18-14 -> very slow boot Thierry Bultel
2014-11-05 20:59 ` Gilles Chanteperdrix
2014-11-06 10:57   ` tbultel
2014-11-06 11:47     ` Gilles Chanteperdrix
2014-11-06 12:34       ` Gilles Chanteperdrix
2014-11-06 12:52         ` Gilles Chanteperdrix
2014-11-06 14:41           ` tbultel
2014-11-06 14:51             ` Gilles Chanteperdrix
2014-11-06 16:04             ` Lennart Sorensen
2014-11-06 16:08               ` Gilles Chanteperdrix
2014-11-07  9:48                 ` tbultel
2014-11-07  9:52                   ` Gilles Chanteperdrix
2014-11-07  9:59                     ` Gilles Chanteperdrix
2014-11-07 12:47                     ` tbultel
2014-11-07 19:58                       ` Gilles Chanteperdrix
2014-11-09 17:48                         ` Thierry Bultel
2014-11-10 12:36                           ` Gilles Chanteperdrix
2014-11-11 19:57                             ` Thierry Bultel
2014-11-11 20:03                               ` Gilles Chanteperdrix
2014-11-12 13:17                                 ` Thierry Bultel [this message]
2014-11-12 13:34                                   ` Gilles Chanteperdrix
2014-11-12 14:27                                     ` Thierry Bultel
2014-11-12 14:30                                       ` Gilles Chanteperdrix
2014-11-12 15:20                                         ` Thierry Bultel
2014-11-12 15:29                                           ` Gilles Chanteperdrix
2014-11-12 15:44                                             ` Thierry Bultel
2014-11-12 15:55                                               ` Gilles Chanteperdrix
2014-11-12 16:17                                                 ` Thierry Bultel
2014-11-12 16:15                                               ` Gilles Chanteperdrix
2014-11-12 18:53                                               ` Lennart Sorensen
2014-11-12 19:06                                                 ` Gilles Chanteperdrix
2014-11-12 19:13                                                   ` Lennart Sorensen
2014-11-12 19:28                                                     ` Gilles Chanteperdrix
2014-11-12 19:35                                                       ` Lennart Sorensen
2014-11-13 14:44                                 ` tbultel
2014-11-13 14:51                                   ` Gilles Chanteperdrix
2014-11-13 15:03                                     ` tbultel
2014-11-13 15:10                                       ` Gilles Chanteperdrix
2014-11-13 15:23                                         ` tbultel
2014-11-13 15:26                                           ` Gilles Chanteperdrix
2014-11-14 10:15                                     ` tbultel
2014-11-14 10:28                                       ` Gilles Chanteperdrix
2014-11-16 20:44                                         ` Thierry Bultel
2014-11-17 10:12                                           ` Gilles Chanteperdrix
2014-11-17 10:43                                             ` tbultel
2014-11-06 12:48     ` Gilles Chanteperdrix

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54635DD7.9090800@free.fr \
    --to=tbultel@free.fr \
    --cc=gilles.chanteperdrix@xenomai.org \
    --cc=nicolas.mabire@basystemes.fr \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.