All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: aubin.rebillat@domain.hid
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] Xenomai on the TS-7553 ARM SBC
Date: Mon, 14 May 2012 18:18:33 +0200	[thread overview]
Message-ID: <4FB13059.6060503@domain.hid> (raw)
In-Reply-To: <2037196635.155333961.1337011990782.JavaMail.root@domain.hid>

On 05/14/2012 06:13 PM, aubin.rebillat@domain.hid wrote:
> Hi Gilles,
> 
> I've followed your advices and reimplemented the timer management. 
> Now it's an up counter wrapping to 0 on overflow, it uses a match 
> register to trigger the interrupt and it's never disabled.
> 
> I've also cleaned the code : suppressed linux specific calls, move 
> update_tsc to linux handler, etc... as you advised me.
> 
> Then, I tested this with both CONFIG_IPIPE and CONFIG_XENOMAI 
> disabled, and it's working fine.
> I also tested with only CONFIG_XENOMAI disabled and it's still
> working as expected.
> 
> Nevertheless, the issue is still the same. It hangs after starting
> the init program. 
> 
> After investigations, the problem is that __ipipe__mach_set_dec is 
> never called after Xenomai has taken control of the  timer. The last 
> timer update was done in rthal_timer_calibrate and it effectively 
> triggers an interrupt after MAXINT ticks (I've put a printk in the 
> linux timer handler and it's displayed after a few time).
> 
> My problem is that i don't really understand the timer management by
> Xenomai. As i understood each skin has its own timers and Xenomai
> manages to trigger them when expected. But what code is managing the
> linux timer ?
> I'm expecting to probably have errors in my ipipe code that's why i'm
> asking this, to follow the execution and see where it is broken.
> 
> Thank you very much,


If the interrupt triggers only once, it probably means that the timer
needs some acknowledgement that must be put in __ipipe_mach_acktimer.

The code managing Linux timer works and has been validated on all the
port so far. So, the thing probably at fault is the timer management
code in the I-pipe patch. Do not worry for Linux timer interrupt, only
take care of ipipe_mach_set_dec and ipipe_mach_acktimer.

Also, if some timer programming is done in linux timer interrupt, it
should not be done once ipipe_mach_timerstolen is true.

-- 
					    Gilles.


  reply	other threads:[~2012-05-14 16:18 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <80969791.144436365.1336656376390.JavaMail.root@domain.hid>
2012-05-10 13:26 ` [Xenomai-help] Xenomai on the TS-7553 ARM SBC aubin.rebillat
2012-05-10 13:42   ` Gilles Chanteperdrix
2012-05-10 15:18     ` aubin.rebillat
2012-05-10 15:30       ` Gilles Chanteperdrix
2012-05-10 16:04         ` aubin.rebillat
2012-05-10 16:34           ` Gilles Chanteperdrix
2012-05-10 17:29             ` aubin.rebillat
2012-05-10 17:42               ` Gilles Chanteperdrix
2012-05-14 16:13                 ` aubin.rebillat
2012-05-14 16:18                   ` Gilles Chanteperdrix [this message]
2012-05-14 18:54                     ` Gilles Chanteperdrix
2012-05-15 14:34                       ` aubin.rebillat
2012-05-15 14:37                         ` Gilles Chanteperdrix
2012-05-10 17:28   ` Gilles Chanteperdrix
2012-05-10 17:38     ` aubin.rebillat
2012-05-10 17: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=4FB13059.6060503@domain.hid \
    --to=gilles.chanteperdrix@xenomai.org \
    --cc=aubin.rebillat@domain.hid \
    --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.