public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Karim Yaghmour <karim@opersys.com>
Cc: "Paul E. McKenney" <paulmck@us.ibm.com>,
	Kristian Benoit <kbenoit@opersys.com>,
	linux-kernel@vger.kernel.org, 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,
	Philippe Gerum <rpm@xenomai.org>
Subject: Re: PREEMPT_RT vs I-PIPE: the numbers, part 2
Date: Wed, 22 Jun 2005 22:22:42 +0200	[thread overview]
Message-ID: <20050622202242.GA17301@elte.hu> (raw)
In-Reply-To: <42B9C777.8040202@opersys.com>


* Karim Yaghmour <karim@opersys.com> wrote:

> Ingo Molnar wrote:
> > with lpptest (PREEMPT_RT's built-in parallel-port latency driver) that's 
> > possible, as it polls the target with interrupts disabled, eliminating 
> > much of the logger-side latencies. The main effect is that it's now only 
> > a single worst-case latency that is measured, instead of having to have 
> > two worst-cases meet.
> > 
> > Here's a rough calculation to show what the stakes are: if there's a 
> > 1:100000 chance to trigger a worst-case irq handling latency, and you 
> > have 600000 samples, then with lpptest you'll see an average of 6 events 
> > during the measurement. With lrtfb (the one Karim used) the chance to 
> > see both of these worst-case latencies on both sides of the measurement 
> > is 1:10000000000, and you'd see 0.00006 of them during the measurement.  
> > I.e. the chances of seeing the true max latency are pretty slim.
> 
> If indeed there are 6 events on a single-side which are worst-case, 
> then you would have to also factor in the probability of obtaining an 
> average or below average result on the other side. So again, if all 
> runs were measuring average on each side, one would expect that at 
> least one of the runs would have a bump over the 55us mark. Yet, they 
> all have the same maximum.

if your likelyhood of getting a 'combo max' event is 1:10000000000 then 
you'll basically never see the max! What you will see are combinations 
of lower-order critical paths - i.e. a worst-case path of 35 usecs 
combined with another, more likely critical path of 20 usecs. You'll 
still have the statistical appearance of having found a 'max'.

your only hope to have valid results would be if the likelyhood of the 
maximum path is much higher than the one in my example. But even then, 
you've significantly reduced the likelyhood of seeing an actual 
worst-case latency total.

>From all the test i've done, 600,000 samples are not enough to trigger 
the worst-case latency - even with the polling method! Also, your tests 
dont really load the system, so you have a fundamentally lower chance of 
seeing worst-case latencies. My tests do a dd test, a flood ping, an 
LTP-40-copies test, an rtc_wakeup 8192 Hz test and an infinite loop of 
hackbench test all in parallel, and even in such circumstances and with 
a polling approach i need above 1 million samples to hit the worst-case 
path! (which i cannot know for sure to be the worst-case path, but which 
i'm reasonably confident about, based on the distribution of the 
latencies and having done tens of millions of samples in overnight 
tests.) Obviously it's a much bigger constraint on the IRQ subsystem if 
_all_ interrupt _and_ DMA sources in the system are as active as 
possible.

so ... give the -50-12 -RT tree a try and report back the lpptest 
results you are getting. [ I know the results i am seeing, but i wont 
post them as a counter-point because i'm obviously biased :-) I'll let 
people without an axe to grind do the measurements. ]

	Ingo

  reply	other threads:[~2005-06-22 20:24 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-20 17:13 PREEMPT_RT vs I-PIPE: the numbers, part 2 Kristian Benoit
2005-06-20 18:31 ` Bill Huey
2005-06-22 16:00   ` Karim Yaghmour
2005-06-22 19:29     ` Bill Huey
2005-06-22 20:05       ` Ingo Molnar
2005-06-22 20:39         ` Karim Yaghmour
2005-06-22 22:04           ` Ingo Molnar
2005-06-22 23:03             ` Lee Revell
2005-06-22 23:52               ` Karim Yaghmour
2005-06-22 23:38             ` Karim Yaghmour
2005-06-22 23:57               ` Andrea Arcangeli
2005-06-23  0:05               ` Daniel Walker
2005-06-23  0:48                 ` Karim Yaghmour
2005-06-23  0:06               ` Ingo Molnar
2005-06-23  0:47                 ` Karim Yaghmour
2005-06-23  0:55                   ` Bill Huey
2005-06-23  1:09                     ` Karim Yaghmour
2005-06-23  1:15                       ` Bill Huey
2005-06-23  1:47                         ` Karim Yaghmour
2005-06-23  0:59                   ` David Lang
2005-06-23  1:22                     ` Karim Yaghmour
2005-06-23  1:42                       ` David Lang
2005-06-23  2:09                         ` Karim Yaghmour
2005-06-23  2:15                           ` David Lang
2005-06-23  1:34                   ` Ingo Molnar
2005-06-23  2:02                     ` Karim Yaghmour
2005-06-23  3:57                       ` Lee Revell
2005-06-23  4:13                         ` Karim Yaghmour
2005-06-22 20:10       ` Karim Yaghmour
2005-06-22 20:15         ` Bill Huey
2005-06-21  1:55 ` Paul E. McKenney
2005-06-21  2:29   ` Karim Yaghmour
2005-06-22  1:19     ` Paul E. McKenney
2005-06-22 15:31       ` Karim Yaghmour
2005-06-22 15:27         ` Kristian Benoit
2005-06-22 16:27         ` Paul E. McKenney
2005-06-22 17:20           ` Kristian Benoit
2005-06-22 17:34             ` Ingo Molnar
2005-06-22 17:40               ` Ingo Molnar
2005-06-22 18:12                 ` Karim Yaghmour
2005-06-22 18:14                   ` Ingo Molnar
2005-06-22 19:04                     ` Karim Yaghmour
2005-06-22 18:50             ` Paul E. McKenney
2005-06-22 19:04               ` Ingo Molnar
2005-06-22 20:17                 ` Karim Yaghmour
2005-06-22 20:22                   ` Ingo Molnar [this message]
2005-06-22 21:03                     ` Karim Yaghmour
2005-06-22 21:10                       ` Ingo Molnar
2005-06-22 21:32                         ` Karim Yaghmour
2005-06-22 22:41                       ` Ingo Molnar
2005-06-22 23:02                         ` Karim Yaghmour
2005-06-22 21:20                 ` Paul E. McKenney
2005-06-22 19:08               ` Karim Yaghmour
2005-06-23 14:48             ` Paulo Marques
2005-06-22 17:58           ` Karim Yaghmour
2005-06-22 18:47             ` Paul E. McKenney
2005-06-22 19:16               ` Karim Yaghmour
2005-06-22 21:23                 ` Paul E. McKenney
2005-06-22 17:17         ` Lee Revell
2005-06-22 17:32           ` Karim Yaghmour
2005-06-29  7:43           ` PREEMPT_RT & threading IRQ 0 Ingo Molnar

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=20050622202242.GA17301@elte.hu \
    --to=mingo@elte.hu \
    --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=karim@opersys.com \
    --cc=kbenoit@opersys.com \
    --cc=linux-kernel@vger.kernel.org \
    --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