public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Karim Yaghmour <karim@opersys.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Kristian Benoit <kbenoit@opersys.com>,
	linux-kernel@vger.kernel.org, paulmck@us.ibm.com, bhuey@lnxw.com,
	andrea@suse.de, tglx@linutronix.de, pmarques@grupopie.com,
	bruce@andrew.cmu.edu, nickpiggin@yahoo.com.au, ak@muc.de,
	sdietrich@mvista.com, dwalker@mvista.com, hch@infradead.org,
	akpm@osdl.org, rpm@xenomai.org
Subject: Re: PREEMPT_RT vs ADEOS: the numbers, part 1
Date: Sun, 12 Jun 2005 00:21:13 -0400	[thread overview]
Message-ID: <42ABB839.7030207@opersys.com> (raw)
In-Reply-To: <20050611192722.GB24152@elte.hu>


Ingo Molnar wrote:
> hackbench:
> 
>   http://developer.osdl.org/craiger/hackbench/
>   http://developer.osdl.org/craiger/hackbench/src/hackbench.c
[snip]
> this is good at triggering worst-case latencies too. Plus dbench is good 
> too:
> 
>   http://samba.org/ftp/tridge/dbench/
>   http://samba.org/ftp/tridge/dbench/dbench-3.03.tar.gz

hackbench and dbench are fine by me, they seem good tests to run.

However ...

> also, there's a very good on-host IRQ-latency measurement tool as well:
> 
>    http://www.affenbande.org/~tapas/wiki/index.php?rtc_wakeup

This tool I just can't trust. Any software tool that measures the
interrupt latency of the system on which it runs is highly suspect.
There are far too many things happening on the system itself for
the tool to act as an "independent" observer. The only true way to
measure interrupt latency is to have some outside system generate
the interrupts and measure the target system's response time.

In our early tests, we actually had an oscilloscope hooked onto
the target and we had a function generator ready to go for pumping
square waves into the target. However, after spending quite some
time looking at the output on the scope, we concluded that there
was just no way for us to measure the peaks (at least with the
scope we had access to; there are very fancy scopes out there
that can probably do a better job by collecting entire samples,
but we don't have those at hand and so too will it be very likely
that others who want to make such measurements may not have
access to such scopes.) Hence the use of the logger to trigger
and measure interrupts. The logger, target and host setup we
put together can very well be implemented using even antiquated
PCs, something any computer enthusiast can easily obtain very
cheaply at any used computer parts store in their neighborhood.

<background>
A truly hard-rt deterministic system should be very easily
viewed using a function generator and a scope. You pump the
square wave, and the measured system generates a delayed
wave. The interrupt latency is the distance between the two.
You would then be able to increase the square wave's frequency
and see the target system follow, up until it couldn't respond
no more and then by turning the knob down back again, you would
find the nice response square waves again. On modern PCs, even
the hardware isn't deterministic, so you can't see such nice
waves. Instead, you need to collect samples and determine
maximums.
</background>

So hackbench and dbench yes, but rtc_wakeup ... hmm ...

Karim
-- 
Author, Speaker, Developer, Consultant
Pushing Embedded and Real-Time Linux Systems Beyond the Limits
http://www.opersys.com || karim@opersys.com || 1-866-677-4546

  reply	other threads:[~2005-06-12  4:10 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-11  4:36 PREEMPT_RT vs ADEOS: the numbers, part 1 Kristian Benoit
2005-06-11  6:14 ` Nick Piggin
2005-06-11  9:15   ` Sven-Thorsten Dietrich
2005-06-11 14:15     ` Kristian Benoit
2005-06-12 15:48       ` Philippe Gerum
2005-06-11 14:39     ` Karim Yaghmour
2005-06-11 22:14       ` Philippe Gerum
2005-06-11 13:57   ` Kristian Benoit
2005-06-11 14:28   ` Zwane Mwaikambo
2005-06-11  7:08 ` Ingo Molnar
2005-06-11  7:44   ` Nick Piggin
2005-06-11  9:27     ` Sven-Thorsten Dietrich
2005-06-12 15:31       ` Philippe Gerum
2005-06-11 14:28     ` Kristian Benoit
2005-06-11 10:37   ` Ingo Molnar
2005-06-11 14:23     ` Kristian Benoit
2005-06-11 14:56       ` Ingo Molnar
2005-06-11 14:31   ` Karim Yaghmour
2005-06-11 14:52     ` Ingo Molnar
2005-06-11 14:52       ` Karim Yaghmour
2005-06-11 17:40       ` Karim Yaghmour
2005-06-11 18:15         ` Ingo Molnar
2005-06-11 18:34           ` Ingo Molnar
2005-06-11 22:27             ` Karim Yaghmour
2005-06-12 10:47           ` James R Bruce
2005-06-12 14:54             ` Ingo Molnar
2005-06-13  2:39               ` Kristian Benoit
2005-06-11 19:14 ` Ingo Molnar
2005-06-11 22:31   ` Karim Yaghmour
2005-06-12  6:11     ` Ingo Molnar
2005-06-12 15:26       ` Daniel Walker
2005-06-12 19:29       ` Karim Yaghmour
2005-06-12 20:59         ` Ingo Molnar
2005-06-13  0:45           ` Andrea Arcangeli
2005-06-13  1:20             ` Karim Yaghmour
2005-06-13  5:47               ` Ingo Molnar
2005-06-12 22:20     ` Andrea Arcangeli
2005-06-12 23:03       ` Sven-Thorsten Dietrich
2005-06-13  0:53         ` randy_dunlap
2005-06-13  1:12           ` Karim Yaghmour
2005-06-13  6:51           ` Sven-Thorsten Dietrich
2005-06-13 15:00     ` Ingo Molnar
2005-06-13 15:12       ` Kristian Benoit
2005-06-11 19:27 ` Ingo Molnar
2005-06-12  4:21   ` Karim Yaghmour [this message]
2005-06-11 20:14 ` Paul E. McKenney
2005-06-11 22:33   ` Karim Yaghmour
2005-06-12 20:36     ` Paul E. McKenney
2005-06-12 11:11 ` James R Bruce
2005-06-12 19:49   ` Karim Yaghmour
2005-06-13  2:32     ` Kristian Benoit

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=42ABB839.7030207@opersys.com \
    --to=karim@opersys.com \
    --cc=ak@muc.de \
    --cc=akpm@osdl.org \
    --cc=andrea@suse.de \
    --cc=bhuey@lnxw.com \
    --cc=bruce@andrew.cmu.edu \
    --cc=dwalker@mvista.com \
    --cc=hch@infradead.org \
    --cc=kbenoit@opersys.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=nickpiggin@yahoo.com.au \
    --cc=paulmck@us.ibm.com \
    --cc=pmarques@grupopie.com \
    --cc=rpm@xenomai.org \
    --cc=sdietrich@mvista.com \
    --cc=tglx@linutronix.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox