All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Steven Seeger <steven.seeger@domain.hid>
Cc: Xenomai help <xenomai@xenomai.org>
Subject: [Xenomai-help] An answer to Steven's questions.
Date: Wed, 22 Apr 2009 20:44:33 +0200	[thread overview]
Message-ID: <49EF6591.7000802@domain.hid> (raw)


Hi Steven,

what matters in an RTOS, Xenomai being no exception, is the latency.
Actually, there are three latencies, the interrupt latency, the
kernel-space scheduling latency, and the user-space scheduling latency.

The true nature of these latencies for Xenomai is complex. It is
probably a mix between the longest interrupt masking section in both
Xenomai and Linux code and the indirect effect of cache, spin-locking on
SMP, TLB, BTB and of other hardware effects. Trying to compute this
latency mathematically is hopeless.

For this reason, Xenomai comes with a tool called "latency", which
allows you to measure these latencies given a load applied on the
system. For this tool to give meaningful results, you should apply a
realistic load on the system, to be sure that most paths in Xenomai and
Linux code are taken so that their masking section time, or their effect
on cache, TLB, BTB, etc... if any, is taken into account.

So, you should not focus on whether this or that part of Xenomai or
Linux code is preemptible or not, you would miss the big picture. What
you have to do, is run the latency test given a proper load applied on
the system. Then you will get a number, and you can rely on this number
(maybe adding some safety margin) as being the latency of Xenomai on
your system. Needless to say, Xenomai syscalls and process migrations
are already done by the printing thread in the latency test, so, there
is no need to try them in a separate load program.

Regards.

-- 
					    Gilles.


             reply	other threads:[~2009-04-22 18:44 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-22 18:44 Gilles Chanteperdrix [this message]
2009-04-22 19:27 ` [Xenomai-help] An answer to Steven's questions Steven Seeger
2009-04-22 19:31   ` Gilles Chanteperdrix
2009-04-22 21:17     ` Steven Seeger
2009-04-22 22:17       ` Philippe Gerum
2009-04-22 23:08         ` [Xenomai-core] " Steven Seeger
2009-04-23  8:10           ` Philippe Gerum
2009-04-22 19:32   ` Gilles Chanteperdrix
2009-04-22 21:18     ` Steven Seeger

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=49EF6591.7000802@domain.hid \
    --to=gilles.chanteperdrix@xenomai.org \
    --cc=steven.seeger@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.