All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wolfgang Grandegger <wg@domain.hid>
To: xenomai-help <xenomai@xenomai.org>
Subject: [Xenomai-help] gpioirqbench: measuring external interrupt latencies
Date: Fri, 22 Feb 2008 22:53:50 +0100	[thread overview]
Message-ID: <47BF446E.50300@domain.hid> (raw)

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

Hello,

I'm proud to announce "gpioirqbench", a benchmark tool to measure
external interrupt latencies. It is derived from Jan's irqbench [1] for
the PC. Instead of using the serial or parallel port, it uses GPIO pins
on embedded systems. It measures the time between the generation of an
interrupt triggered by a GPIO pin and the reply by either the interrupt
service routine, a kernel-space task or a user-space task. As reply,
another GPIO pin will be toggled. The setup consists of two systems, the
log host and the test target. The log host triggers the interrupt on the
test target and measures the latency. This benchmark is primarily for
Xenomai/RTDM, but it can also be used for plain Linux or even Linux-rt
(with the real-time preemption patch).

I have done a series of latency measurements with the embedded PowerPC
evaluation board Icecube-Freescale-MPC5200 and Sequoia-AMCC-440EPx. The
results are listed below:


1) Board: Motorola MPC5200 (IceCube)
   CPU:   MPC5200 v1.0, Core v1.1 at 396 MHz
          Bus 132 MHz, IPB 66 MHz, PCI 33 MHz
   OS:    DENX Linux 2.6.24.2 "arch/powerpc" and Xenomai 2.4.2. with
          ELDK 4.2 and root filesystem via NFS

                                       Min      Max
   Xenomai user space task   (-t0):   13us    119us
   Xenomai kernel space task (-t1):    7us     82us
   Xenomai interrupt handler (-t2):    2us     47us

   Plain Linux user space task    :   31us   5749us

   cyclictest -t1 -p80 -n -i1000  :   11us     89us
   latency -p1000                 :    8us     92us


2) Board: Sequoia - AMCC PPC440EPx Evaluation Board, Rev. F, PCI=33 MHz
   CPU:   AMCC PowerPC 440EPx Rev. A at 528 MHz (PLB=132, OPB=66, EBC=66
MHz)
   OS:    DENX Linux 2.6.24.2 "arch/ppc" and Xenomai 2.4.2. with
          Ubuntu 7.04 on a USB-Disk and with a ATI Radeon 9200 card

                                       Min      Max
   Xenomai user space task   (-t0):    5us     74us
   Xenomai kernel space task (-t1):    4us     49us
   Xenomai interrupt handler (-t2):    2us     29us

   Plain Linux user space task    :    4us   1291us


As non-rt load I used "while ls; do ls /bin; done" in one and "while
./hackbench 10; do ./calibrator 400 32M cali; sleep 30; done" in a
second telnet session. The tests ran for 1.5 hours, each.

We will show the Sequoia board in action on the Embedded Workd fair in
Nuremberg next week as Xenomai demo with an Oscilloscope connected to
visualize the interrupt latencies measured with "gpioirqbench". If you
are around, feel free to visit us at Hall 12, Booth 12-246.

I have attached the "gpioirqbench" distribution. It can be adapted to
other embedded system with little effort. For further information, check
the README inside.

Wolfgang.

[1] http://www.rts.uni-hannover.de/xenomai/lxr/source/doc/txt/irqbench.txt


[-- Attachment #2: gpioirqbench-0.9.0.tar.bz2 --]
[-- Type: application/x-bzip, Size: 15141 bytes --]

             reply	other threads:[~2008-02-22 21:53 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-22 21:53 Wolfgang Grandegger [this message]
2008-02-23 14:06 ` [Xenomai-help] gpioirqbench: measuring external interrupt latencies Jan Kiszka
2008-02-23 20:27   ` Wolfgang Grandegger
2008-02-25  8:08     ` Jan Kiszka
2008-02-25  8:28       ` Wolfgang Grandegger

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=47BF446E.50300@domain.hid \
    --to=wg@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.