From: Philippe Gerum <rpm@xenomai.org>
To: ROSSIER Daniel <Daniel.Rossier@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-core] Latencies for the Freescale i.MX21/CSB535FS
Date: Wed, 26 Apr 2006 10:40:33 +0200 [thread overview]
Message-ID: <444F3201.2080302@domain.hid> (raw)
In-Reply-To: <FDBBB5CC70676540B3EF7CFE83FD94E0210DD0@domain.hid>
ROSSIER Daniel wrote:
> Hi all,
>
>
>
> As promised, you can find the latency results (latency –t0/-t1/-t2) as
> well as the
>
> stats from the switch utility for the performance of our Xenomai port
> onto the i.MX21 board.
>
>
>
> These are fesh results J and we didn't have time to analyze them yet.
>
>
>
> Thanks for any feedback…
The tests have not been run long enough under load to get a reliable
measure of the real worst-case figures, but still, the data sets seem
consistent.
- the test run of latency -t2 (in-kernel timer handler) shows equivalent
worst-case figures than the -t1 form (in-kernel thread), which means
that most of the latency hit is taken at the Adeos level, i.e. in-kernel
scheduling adds little in the picture. Room for improvement is primarily
hiding somewhere in the Adeos layer, I think.
- comparing the min latency observed in the -t1 and -t2 forms, it looks
like the inherent cost of traversing the rescheduling path would be
close to ~10 us.
- comparing the min latency observed in the -t0 and -t1 forms, there is
another 10+ us consumed in switching mm contexts, and paying the
involved cache penalties. The way to measure the level of perturbation
Linux adds by switching its own tasks is to write a simple kernel module
embodying a Xenomai thread that keeps the CPU busy while the performance
test is running at a higher priority.
I'd say that the most efficient way to reduce those latencies would
require to first identify the source of the 40+ us spot observed with
the -t2 form on an idle system. For that, I'm convinced that porting the
I-pipe tracer to ARM would be the best option, since this tool would be
of great help there.
This port basically requires 1) to code the mcount() routine supporting
gcc's -pg option, 2) to solve early boot issues so that mcount() does
not attempt to trace anything while the memory environment has not been
fully set up. The rest is pretty generic.
--
Philippe.
next prev parent reply other threads:[~2006-04-26 8:40 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-26 8:08 [Xenomai-core] Latencies for the Freescale i.MX21/CSB535FS ROSSIER Daniel
2006-04-26 8:40 ` Philippe Gerum [this message]
-- strict thread matches above, loose matches on Subject: below --
2006-04-27 11:50 ROSSIER Daniel
2006-04-27 12:02 ` Jan Kiszka
2006-04-27 12:13 ` Philippe Gerum
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=444F3201.2080302@domain.hid \
--to=rpm@xenomai.org \
--cc=Daniel.Rossier@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.