From: Philippe Gerum <rpm@xenomai.org>
To: adam li <yi.li@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] question about the latency test running on Blackfin
Date: Thu, 06 Apr 2006 09:05:33 +0200 [thread overview]
Message-ID: <4434BDBD.9060102@domain.hid> (raw)
In-Reply-To: <1144294706.12272.32.camel@domain.hid>
adam li wrote:
> Hi,
>
> I tried to run the "latency" test on Blackfin 533-STAMP board, in
> different modes. Here is the output of the test result:
>
> (I am using xenomai-2.1.0 with default configuration,(adding "timer
> benchmark" driver)).
>
> 1. # latency -h -t0 -T30
> HSH|--param|--samples-|--average--|---stddev--
> HSS| min| 29| 9.862| 0.581
> HSS| avg| 299964| 11.380| 2.676
> HSS| max| 29| 49.759| 5.296
>
> # cat /proc/xenomai/stat
> CPU PID MSW CSW PF STAT NAME
> 0 0 0/0 288239 0 00400080 ROOT
> 0 47 23/22 145 0 00300082 display
> 0 48 1/0 220501 0 00300084 sampling
>
>
> 2. # latency -h -t1 -T30
> HSH|--param|--samples-|--average--|---stddev--
> HSS| min| 29| 6.552| 0.686
> HSS| avg| 299985| 8.849| 1.601
> HSS| max| 29| 35.379| 6.383
>
> cat /proc/xenomai/stat
> CPU PID MSW CSW PF STAT NAME
> 0 0 0/0 436079 0 00400080 ROOT
> 0 58 6/5 42 0 00300082 display
> 0 0 0/0 57685 0 00000084 timerbench
>
>
> 3. # latency -h -t2 -T30
> == Sampling period: 100 us
> == Test mode: in-kernel timer handler
> == All results in microseconds
> warming up...
> RTT| 00:00:01 (in-kernel timer handler, 100 us period)
> RTH|-----lat min|-----lat avg|-----lat max|-overrun|----lat best|---lat
> worst
> RTD| -5.340| -4.385| 8.064| 0| -5.340|
> 8.064
> RTD| -6.848| -4.359| 8.907| 0| -6.848|
> 8.907
> RTD| -6.443| -4.518| 23.878| 0| -6.848|
> 23.878
> RTD| -5.757| -4.240| 23.377| 0| -6.848|
> 23.878
> RTD| -6.153| -4.144| 24.107| 0| -6.848|
> 24.107
> RTD| -5.446| -4.040| 18.754| 0| -6.848|
> 24.107
> RTD| -7.697| -4.690| 20.319| 0| -7.697|
> 24.107
>
> HSH|--param|--samples-|--average--|---stddev--
> HSS| min| 29| 5.621| 0.820
> HSS| avg| 299979| 3.990| 0.774
> HSS| max| 29| 15.966| 6.248
>
>
> And my questions are:
>
> 1). Compared the output of Mode 0 (user space task) and Mode 1 (kernel
> space task), the average latency of Mode 1 is shorter. In Mode 1, the
> "timerbench" thread is running in primary mode, but what makes the
> latency in secondary mode longer?
>
Both modes 0 and 1 exhibit threads running in primary mode. The
difference is that mode 1 runs kernel based threads which are mostly
seen as co-routines, whilst mode 0 runs user-space based ones. Mode 0
involves the additional cost of dealing with full user-space context
switches.
> 2) From the output of Mode 0, the "MSW" field of "sampling" thread is
> always 1/0, does that mean the "sampling" thread will switch to primary
> mode and keep stay in primary mode throughout the test?
>
Yes.
> 3) In Mode 2 (timer handler in kernel space), the "lat min" and "lat
> avg" is negative, is this correct?
Yes, it only means that your pre-calibrated jitter compensation value is
over-pessimistic, and could be lowered. This value is substracted from
timer shot dates in order to take into account the intrinsic latency of
your board and of Xenomai-related scheduling latency. See
ksrc/include/asm-blackfin/calibration.h. You can override this value
using the "timing" configuration menu.
If it is correct, why the latency is
> much shorter than mode 1(kernel space task)?
>
Because mode 1 measures the scheduling latency, whilst mode 2 only
measures the interrupt latency.
> And finally a general question:
> 4) why there is RTDM? What is the design purpose?
It's a unifying, RTOS-agnostic, driver-class agnostic, API-agnostic
framework for building real-time device drivers. It's the cornerstone of
Xenomai's real-time device support.
If I were to write
> Realtime device drivers, shall I use RTDM?
>
Yes, definitely.
>
> Thanks,
>
> -Li Yi
>
> _______________________________________________
> Xenomai-help mailing list
> Xenomai-help@domain.hid
> https://mail.gna.org/listinfo/xenomai-help
>
--
Philippe.
next prev parent reply other threads:[~2006-04-06 7:05 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-04 8:32 [Xenomai-help] Questions porting existing rtai-24.1.12 app toxenomai Fillod Stephane
2006-04-04 14:24 ` [Xenomai-help] Questions porting existing rtai-24.1.12 app to xenomai (PART II) Randy Smith
2006-04-04 14:15 ` Philippe Gerum
2006-04-04 15:32 ` Randy Smith
2006-04-04 16:21 ` Philippe Gerum
2006-04-05 15:02 ` Randy Smith
2006-04-05 16:45 ` Philippe Gerum
2006-04-05 20:54 ` Randy Smith
2006-04-05 22:02 ` Philippe Gerum
2006-04-12 16:11 ` Randy Smith
2006-04-06 3:38 ` [Xenomai-help] question about the latency test running on Blackfin adam li
2006-04-06 7:05 ` Philippe Gerum [this message]
2006-04-07 12:27 ` adam li
2006-04-07 12:37 ` Philippe Gerum
2006-04-12 2:42 ` Li Yi
2006-04-12 7:46 ` Jan Kiszka
2006-04-12 12:28 ` adam li
2006-04-12 17:38 ` Jan Kiszka
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=4434BDBD.9060102@domain.hid \
--to=rpm@xenomai.org \
--cc=xenomai@xenomai.org \
--cc=yi.li@domain.hid \
/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.