From: Peter Howard <pjh@northern-ridge.com.au>
To: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai] OMAP L138
Date: Fri, 11 Apr 2014 08:17:43 +1000 [thread overview]
Message-ID: <1397168263.6356.11.camel@localhost.localdomain> (raw)
In-Reply-To: <53471389.6000000@xenomai.org>
On Thu, 2014-04-10 at 23:56 +0200, Gilles Chanteperdrix wrote:
> On 04/10/2014 09:57 PM, Peter Howard wrote:
> > On Thu, 2014-04-10 at 14:06 +0200, Gilles Chanteperdrix wrote:
> >> On 04/10/2014 09:01 AM, Peter Howard wrote:
> >>> On Wed, 2014-04-09 at 13:54 +0200, Gilles Chanteperdrix wrote:
> >>>> On 04/09/2014 06:27 AM, Peter Howard wrote:
> >>>>> On Wed, 2014-04-09 at 10:34 +1000, Peter Howard wrote:
> >>>>>> On Wed, 2014-04-09 at 02:20 +0200, Gilles Chanteperdrix wrote:
> >>>>>>> On 04/09/2014 01:30 AM, Peter Howard wrote:
> >>>>>>>> On Tue, 2014-04-08 at 11:18 +0200, Gilles Chanteperdrix wrote:
> >>>>>>>>> On 04/07/2014 07:34 AM, Peter Howard wrote:
> >>>>>>>>>>
> >>>>>>>>>> On Wed, 2014-04-02 at 09:24 +0200, Gilles Chanteperdrix wrote:
> >>>>>>>>>>> On 04/02/2014 04:59 AM, Peter Howard wrote:
> >>>>>>>>>>>> Hi,
> >>>>>>>>>>>>
> >>>>>>>>>>>> I'm interested in running xenomai on a TI-OMAP L138 board. I found the
> >>>>>>>>>>>> following thread in the archives:
> >>>>>>>>>>>>
> >>>>>>>>>>>> http://www.xenomai.org/pipermail/xenomai/2010-January/018898.html
> >>>>>>>>>>>>
> >>>>>>>>>>>> where someone was working on porting ipipe and xenomai to that board.
> >>>>>>>>>>>> However, the thread ended with problems still unresolved, and the patch
> >>>>>>>>>>>> in the thread (just the changes for ipipe) isn't in the ipipe
> >>>>>>>>>>>> repository.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Does anyone know if this work was completed or just faded into the
> >>>>>>>>>>>> ether?
> >>>>>>>>>>>
> >>>>>>>>>>> We never merged a patch for this processor. And a lot of things changed
> >>>>>>>>>>> since that time. If you are interested in porting the I-pipe patch to
> >>>>>>>>>>> this processor, see:
> >>>>>>>>>>>
> >>>>>>>>>>> http://www.xenomai.org/index.php/I-pipe-core:ArmPorting
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> Contrary to what I said last week, I'm working on a patch off the head
> >>>>>>>>>> of the ipipe repo. I have built a kernel with an ipipe port and with
> >>>>>>>>>> xenomai patched in. However the latency results are bad right now:
> >>>>>>>>>>
> >>>>>>>>>> root@arago:~# xeno latency -T 25
> >>>>>>>>>> == Sampling period: 1000 us
> >>>>>>>>>> == Test mode: periodic user-mode task
> >>>>>>>>>> == All results in microseconds
> >>>>>>>>>> warming up...
> >>>>>>>>>> RTT| 00:00:01 (periodic user-mode task, 1000 us period, priority 99)
> >>>>>>>>>> RTH|----lat min|----lat avg|----lat max|-overrun|---msw|---lat best|--lat worst
> >>>>>>>>>> RTD| 3.541| 8.833| 60.749| 0| 0| 3.541| 60.749
> >>>>>>>>>> RTD| 3.499| 13.583| 93.916| 0| 0| 3.499| 93.916
> >>>>>>>>>> RTD| 3.666| 88.999| 109.708| 0| 0| 3.499| 109.708
> >>>>>>>>>> RTD| 3.541| 14.958| 95.374| 0| 0| 3.499| 109.708
> >>>>>>>>>> RTD| 3.541| 9.333| 77.583| 0| 0| 3.499| 109.708
> >>>>>>>>>> RTD| 4.041| 88.416| 109.791| 0| 0| 3.499| 109.791
> >>>>>>>>>> RTD| 3.499| 8.958| 72.791| 0| 0| 3.499| 109.791
> >>>>>>>>>> RTD| 3.499| 26.041| 106.874| 0| 0| 3.499| 109.791
> >>>>>>>>>> RTD| 3.874| 82.708| 107.916| 0| 0| 3.499| 109.791
> >>>>>>>>>> RTD| 3.499| 9.083| 73.708| 0| 0| 3.499| 109.791
> >>>>>>>>>> RTD| 3.333| 8.874| 62.458| 0| 0| 3.333| 109.791
> >>>>>>>>>> RTD| 3.333| 8.749| 62.208| 0| 0| 3.333| 109.791
> >>>>>>>>>> RTD| 3.416| 12.708| 99.416| 0| 0| 3.333| 109.791
> >>>>>>>>>> RTD| 3.499| 14.249| 106.749| 0| 0| 3.333| 109.791
> >>>>>>>>>> RTD| 3.541| 9.083| 76.499| 0| 0| 3.333| 109.791
> >>>>>>>>>> RTD| 3.249| 8.791| 63.499| 0| 0| 3.249| 109.791
> >>>>>>>>>> RTD| 3.416| 8.999| 62.499| 0| 0| 3.249| 109.791
> >>>>>>>>>> RTD| 3.541| 26.166| 101.208| 0| 0| 3.249| 109.791
> >>>>>>>>>> RTD| 3.583| 13.624| 92.458| 0| 0| 3.249| 109.791
> >>>>>>>>>> RTD| 3.541| 8.916| 73.708| 0| 0| 3.249| 109.791
> >>>>>>>>>> RTD| 3.541| 8.999| 64.291| 0| 0| 3.249| 109.791
> >>>>>>>>>> RTT| 00:00:22 (periodic user-mode task, 1000 us period, priority 99)
> >>>>>>>>>> RTH|----lat min|----lat avg|----lat max|-overrun|---msw|---lat best|--lat worst
> >>>>>>>>>> RTD| 3.499| 8.874| 61.374| 0| 0| 3.249| 109.791
> >>>>>>>>>> RTD| 3.499| 13.833| 100.749| 0| 0| 3.249| 109.791
> >>>>>>>>>> RTD| 3.541| 13.083| 99.249| 0| 0| 3.249| 109.791
> >>>>>>>>>> ---|-----------|-----------|-----------|--------|------|------------------------
> >>>>>>>>>> RTS| 3.249| 21.458| 109.791| 0| 0| 00:00:25/00:00:25
> >>>>>>>>>> root@arago:~#
> >>>>>>>>>
> >>>>>>>>> Note that if the OMAPL138 is an armv4 or armv5, you may want to enable
> >>>>>>>>> the FCSE in order to reduce context switch time (and latencies).
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>> I enabled FCSE, and the max latency is more consistent (though the min
> >>>>>>>> and average latency has climbed). How do the below figures look?
> >>>>>>>
> >>>>>>> Otherwise, it is hard to say whether there is an issue or not. It is not
> >>>>>>> uncommon for armv4 or armv5 to have high latencies like this.
> >>>>>>> On what core is this processor based, running at what frequency?
> >>>>>>>
> >>>>>>>
> >>>>>> It's an AMR926EJ-S r5. Datasheet claims 375MHz, U-boot claims 300MHz.
> >>>>>>
> >>>>>> Load test to follow.
> >>>>>>
> >>>>>
> >>>>> OK, this run was done with LTP running on the board (runltplite.sh),
> >>>>> with cpu utilization between 90% and 100%
> >>>>
> >>>> You have to run the latency test while ltp is running, and run this for
> >>>> a few hours (ltp runs a few hours anyway).
> >>>>
> >>>> We provide the xeno-test script to do this (and dohell to generate
> >>>> load).
> >>>>
> >>>> See:
> >>>> http://www.xenomai.org/documentation/xenomai-2.6/html/xeno-test/index.html
> >>>> http://www.xenomai.org/documentation/xenomai-2.6/html/dohell/index.html
> >>>>
> >>>
> >>> That's proving to be a bit challenging. Giving dohell ltp is causing
> >>> more kernel panics - usually a SIGSEGV to init. Now I'm aware from your
> >>> previous thread on the OMAP-L138 that ltp doesn't run cleanly on low-end
> >>> arm chips as-is, but I'm guessing kernel panics wasn't the failure mode
> >>> you were seeing. (running ltp by itself also gives a different kernel
> >>> panic after about 15-20 minutes) So I need to look into that more.
> >>>
> >>> I also need to try the ltp build on the stock Ti-supplied system to make
> >>> sure there's not a pre-existing problem lurking in there; I should do
> >>> that tomorrow.
> >>
> >> The thing is, if you enabled FCSE in guaranteed mode, it does not really
> >> make sense to run LTP: most tests will fail because of the processes
> >> number limit. In that case you should use the -b option, and pass the
> >> path to hackbench only.
> >>
> >>>
> >>> FWIW just running xeno-test with no arguments finishes cleanly after
> >>> running for 10 minutes or so.
> >>>
> >>> Is it worth putting up the diff to the ipipe tree at this stage for
> >>> people to look over?
> >>
> >> If you have random segfault, then something is still wrong. Have you
> >> tried enabling I-pipe debugging options?
> >>
> >> The non-working I-pipe tracer with stack unwinding is not normal either,
> >> what version of the kernel are you using?
> >>
> >>
> > The kernel source I'm modifying is the master branch of the ipipe git
> > repo.
>
> Despite the fact that this branch does not correspond to any released
> I-pipe patch, I can confirm that the I-pipe tracer works with stack
> unwinding on at91rm9200, ,an armv4, and at91sam9263, an armv5. So, you
> must miss something in your patch. Again, I would advise you to use:
>
> http://www.xenomai.org/index.php/I-pipe-core:ArmPorting
>
> As a check list.
>
I did indeed use that page as a basis for the porting, and worked
through the "Troubleshooting" section at the bottom. Going through each
section:
* Hardware Timer - this is a slight concern as there is no acking
(hardware or software) of the irq at this level, so struct
ipipe_timer has .ack as NULL. Otherwise, set up as per example.
* High Resolution timer - it's free running, and straightforward
as per the example. It's edge triggered; changing to level
triggering results in no interrupts.
* Interrupt controller - no multi irqs. Mask/Unmask have the
ipipe_{un}lock_irq() added. Separate hold/release and
enable/disable calls without the lock (the latter added after
warnings with ipipe debugging turned on).
* GPIO - ipipe_handle_demuxed_irq() added in.
* I-pipe spinlocks - no conversions needed.
* Interrupt Controller Muting - skipped as recommended.
* Fast context switch extension - enabled (now - initial
crashes/panics were without it enabled).
* Troubleshooting - worked through as best I can with latency
tracing causing kernel panics.
> Also, if you can give us more details about the crash you get (kernel
> configuration, console messages), we could help you find what is wrong.
> And again, please enable all the I-pipe debugging option, in case it
> would catch an issue.
>
>
I can provide the defconfig either as an attachment or inline in the
mail - preference?
As to the crashes - I'll run through a full set today (tracing off,
tracing on, various tracing levels) and try to give as much info as
possible.
--
Peter Howard <pjh@northern-ridge.com.au>
next prev parent reply other threads:[~2014-04-10 22:17 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-02 2:59 [Xenomai] OMAP L138 Peter Howard
2014-04-02 7:24 ` Gilles Chanteperdrix
2014-04-02 22:37 ` Peter Howard
2014-04-02 23:31 ` Gilles Chanteperdrix
2014-04-03 1:28 ` Peter Howard
2014-04-07 5:34 ` Peter Howard
2014-04-07 9:53 ` Gilles Chanteperdrix
2014-04-08 2:37 ` Peter Howard
2014-04-08 8:12 ` Gilles Chanteperdrix
2014-04-08 23:44 ` Peter Howard
2014-04-08 9:18 ` Gilles Chanteperdrix
2014-04-08 23:30 ` Peter Howard
2014-04-09 0:18 ` Gilles Chanteperdrix
2014-04-09 0:20 ` Gilles Chanteperdrix
2014-04-09 0:34 ` Peter Howard
2014-04-09 4:27 ` Peter Howard
2014-04-09 11:54 ` Gilles Chanteperdrix
2014-04-10 7:01 ` Peter Howard
2014-04-10 12:06 ` Gilles Chanteperdrix
2014-04-10 19:57 ` Peter Howard
2014-04-10 21:56 ` Gilles Chanteperdrix
2014-04-10 22:17 ` Peter Howard [this message]
2014-04-10 22:23 ` Gilles Chanteperdrix
2014-04-10 22:27 ` Peter Howard
2014-04-10 22:34 ` Peter Howard
2014-04-10 22:48 ` Gilles Chanteperdrix
2014-04-10 22:52 ` Peter Howard
2014-04-10 22:55 ` Gilles Chanteperdrix
2014-04-15 6:03 ` Peter Howard
2014-04-15 11:37 ` Gilles Chanteperdrix
2014-04-15 21:59 ` Peter Howard
2014-04-15 22:25 ` Gilles Chanteperdrix
2014-04-16 0:58 ` Peter Howard
2014-04-16 7:34 ` Gilles Chanteperdrix
2014-04-17 0:30 ` Peter Howard
2014-04-17 11:37 ` Gilles Chanteperdrix
2014-04-22 23:02 ` Gilles Chanteperdrix
2014-04-23 1:45 ` Peter Howard
2014-04-23 2:15 ` Peter Howard
2014-04-23 12:13 ` Gilles Chanteperdrix
2014-04-24 21:30 ` Gilles Chanteperdrix
2014-04-27 22:14 ` Peter Howard
2014-04-28 1:19 ` Peter Howard
2014-04-29 1:46 ` Peter Howard
2014-05-04 19:25 ` Gilles Chanteperdrix
2014-05-05 23:00 ` Peter Howard
2014-05-06 11:35 ` Gilles Chanteperdrix
2014-05-06 22:44 ` Peter Howard
2014-05-07 0:26 ` Gilles Chanteperdrix
2014-04-10 23:01 ` Peter Howard
2014-04-11 15:46 ` Lennart Sorensen
2014-04-14 0:28 ` Peter Howard
2014-04-14 1:10 ` Lennart Sorensen
2014-04-14 5:02 ` Peter Howard
2014-04-14 5:48 ` Peter Howard
2014-04-14 13:21 ` Lennart Sorensen
2014-04-15 1:58 ` Peter Howard
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=1397168263.6356.11.camel@localhost.localdomain \
--to=pjh@northern-ridge.com.au \
--cc=gilles.chanteperdrix@xenomai.org \
--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.