All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@domain.hid>
To: Kiichi Kameda <k-kameda@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] Xenomai port to SH4
Date: Mon, 17 Apr 2006 16:52:04 +0200	[thread overview]
Message-ID: <4443AB94.50508@domain.hid> (raw)
In-Reply-To: <009601c662f1$f164e700$1701a8c0@domain.hid>

[-- Attachment #1: Type: text/plain, Size: 5249 bytes --]

Kiichi Kameda wrote:
> I have been porting Xenomai-2.0.2 to SH(SuperH) architecture.

Cool!

> Currently almost all functions work well. And, I am mesuring the performance
> from user-space program using posix skin on a 240MHz SH7750R(SH4) machine,
> mainly 1 ms periodic dispatch latency. The measured data shows small
> latency(tens of micro seconds) when system has a light workload.
> In case of heavy workload such as frequent linux command input, the latency
> increases to some 200 micro seconds, though.

If you are looking for real heavy load: cache benchmarks tend to stress
your system most (e.g. http://www.cwi.nl/~manegold/Calibrator). Combine
them with heavy i/o load (flood ping etc.).

Anyway, 200 us for a 240 MHz system doesn't sound totally unrealistic.
But I do not know the sh4 architecture to give a reliable estimation.

What are your numbers when running latency in the other modes, i.e.
without the need to switch to user space (mode 1, "-t1") or even without
any context switch at all (mode 2, "-t2")?

> 
> Following is the testsuit/latency/latency program(using native skin -
> slightly modified) output with comment.
> In case of posix skin, the data shows similar tendency.
> 
> RTH|-----lat min|-----lat avg|-----lat max|-overrun|----lat best|---lat
> worst
> ...(no workload)
> RTD|         333|        1400|        9733|       0|         333|
> 27066
> RTD|         333|        1466|       34533|       0|         333|
> 34533
> RTD|         266|        1400|       14533|       0|         266|
> 34533
> RTD|         400|        1400|       14466|       0|         266|
> 34533
> RTD|         333|        1333|        7533|       0|         266|
> 34533
> RTD|         266|        1400|       14333|       0|         266|
> 34533
> RTD|         333|        1400|       40866|       0|         266|
> 40866
> RTD|         333|        1466|       25533|       0|         266|
> 40866
> RTD|         266|        1400|       14400|       0|         266|
> 40866
> RTD|         400|        1400|       13600|       0|         266|
> 40866
> RTD|         266|        1400|        7466|       0|         266|
> 40866
> RTD|         333|        1466|       40800|       0|         266|
> 40866
> RTD|         333|        1400|       18466|       0|         266|
> 40866
> RTD|         333|        1400|       13533|       0|         266|
> 40866
> ...
> RTD|         333|        1333|        7133|       0|         266|
> 40866
> (telnet login)
> RTD|         266|        4400|      111000|       0|         266|
> 111000
> RTD|         333|        1400|       27266|       0|         266|
> 111000
> RTD|         333|        1466|       28000|       0|         266|
> 111000
> 
> RTD|         333|        1466|       33133|       0|         266|
> 111000
> RTD|         333|        1466|       26800|       0|         266|
> 111000
> (single ps aux command)
> RTD|         333|       22800|      112533|       0|         266|
> 112533
> RTD|         333|        1400|       19400|       0|         266|
> 112533
> RTD|         266|        1466|       35000|       0|         266|
> 112533
> RTD|         333|        1400|        7533|       0|         266|
> 112533
> RTD|         333|        1400|       15733|       0|         266|
> 112533
> RTD|         266|        1866|       71333|       0|         266|
> 112533
> RTD|         333|        9866|      105866|       0|         266|
> 112533
> RTD|         266|        1400|       14400|       0|         266|
> 112533
> 
> RTD|         266|        1400|       11266|       0|         266|
> 112533
> RTD|         400|        1466|       50133|       0|         266|
> 112533
> RTD|         333|        3066|      116866|       0|         266|
> 116866
> (successive ps aux command)
> RTD|        1266|       15933|      218866|       0|         266|
> 218866
> RTD|        1266|        2400|       76666|       0|         266|
> 218866
> RTD|         333|        1400|       15000|       0|         266|
> 218866
> RTD|         266|        1400|       27600|       0|         266|
> 218866
> RTD|         400|        1400|       15333|       0|         266|
> 218866
> RTD|         266|        1333|        6933|       0|         266|
> 218866
> RTD|         333|        1400|       16533|       0|         266|
> 218866
> RTD|         400|        1800|       75933|       0|         266|
> 218866
> 
> 
> It is enough possible I have misported the Xenomai to SH, but I also think
> Xenomai user-space program(primary mode) suffers such extra latency when
> Linux kernel runs Linux programs.
> 
> I will appreciate any suggestion for latency improvement.

Very helpful for understanding what happens on your system is the ipipe
latency tracer. We have support for x86 and ppc so far, and there are
"templates" for porting it to other archs available from Ingo Molnar's
original patch. Unfortunately, even the latter does not yet include sh4
support, so porting it would be a real pioneer work. :)

But, basically, it can be as simple as writing an mcount stub in
assembly to call the actual tracing function. See x86 on this.

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]

  parent reply	other threads:[~2006-04-17 14:52 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-18 14:11 [Xenomai-help] Xenomai port to SH4 Kiichi Kameda
2006-04-17 14:33 ` Philippe Gerum
2006-04-19 14:00   ` Kiichi Kameda
2006-04-18 14:04     ` Philippe Gerum
2006-04-17 14:52 ` Jan Kiszka [this message]
2006-04-19 14:49   ` Kiichi Kameda

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=4443AB94.50508@domain.hid \
    --to=jan.kiszka@domain.hid \
    --cc=k-kameda@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.