From: Ingo Molnar <mingo@elte.hu>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Steven Rostedt <rostedt@goodmis.org>,
Peter Williams <pwil3058@bigpond.net.au>,
Thomas Gleixner <tglx@linutronix.de>,
Andrew Morton <akpm@osdl.org>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] Avoid moving tasks when a schedule can be made.
Date: Wed, 1 Feb 2006 15:12:48 +0100 [thread overview]
Message-ID: <20060201141248.GA6277@elte.hu> (raw)
In-Reply-To: <43E0BDA3.8040003@yahoo.com.au>
* Nick Piggin <nickpiggin@yahoo.com.au> wrote:
> ... and my point is that there is not much reason to introduce a
> possible performance regression because of such a latency in an
> artificial test case, especially when there are other sources of
> unbound latency when dealing with large numbers of tasks (and on
> uniprocessor too, eg. rwsem).
>
> However, as an RT-tree thing obviously I have no problems with it, but
> unless your interrupt thread is preemptible, then there isn't much
> point because it can cause a similar latency (that your tools won't
> detect) simply by running multiple times.
we can (and do) detect any type of latency. E.g. there's the
CONFIG_LPPTEST feature in the -rt kernel, which allows me to inject
50,000 hardirqs per second from another box, over a parallel port, and
allows me to validate the worst-case IRQ response time from that
external box. The 'external' component of LPPTEST injects the interrupt
with interrupts disabled, and polls for the response, and does all
measurements on that other box. I can use that in conjunction with the
latency tracer running on the measured box, to get an easy snapshot of
the longest hardirq latency path.
to answer your question: yes, all hardware interrupt handlers [except a
very slim shim that blocks the irq source and wakes up the interrupt
thread] are fully preemptible in the -rt kernel too. I.e. all the IDE
irq handlers, all the networking handlers, all the irq codepath that
usually runs with irqs off, runs fully preemptible in the -rt kernel.
so when we say the -rt kernel has a 20 usecs worst-case scheduling
latency on a fast box, while running arbitrary SCHED_OTHER workloads
(including heavy networking, heavy swapping/VM and IO work, using
thousands of tasks) it really means we measured it using robust methods.
> You really want isolcpus on SMP machines to really ensure load
> balancing doesn't harm RT behaviour, yeah?
not really - isolcpus is useful for certain problems, but it is not
generic as it puts heavy constraints on usability and resource
utilization. We have really, really good latencies on SMP too in the -rt
kernel, with _arbitrary_ SCHED_OTHER workloads. Rwsems and rwlocks are
not an issue, pretty much the only issue is the scheduler's
load-balancing.
Ingo
next prev parent reply other threads:[~2006-02-01 14:14 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-31 19:43 [PATCH] Avoid moving tasks when a schedule can be made Steven Rostedt
2006-02-01 3:36 ` Peter Williams
2006-02-01 12:44 ` Steven Rostedt
2006-02-01 13:06 ` Nick Piggin
2006-02-01 13:10 ` Nick Piggin
2006-02-01 13:20 ` Ingo Molnar
2006-02-01 13:47 ` Nick Piggin
2006-02-01 13:54 ` Nick Piggin
2006-02-01 14:12 ` Ingo Molnar [this message]
2006-02-01 14:25 ` Nick Piggin
2006-02-01 14:37 ` Ingo Molnar
2006-02-01 14:54 ` Nick Piggin
2006-02-01 15:11 ` Ingo Molnar
2006-02-01 15:31 ` Nick Piggin
2006-02-01 16:10 ` Ingo Molnar
2006-02-01 16:25 ` Nick Piggin
2006-02-01 17:24 ` Ingo Molnar
2006-02-06 11:21 ` Nick Piggin
2006-02-01 14:00 ` Ingo Molnar
2006-02-01 14:09 ` Nick Piggin
2006-02-01 14:22 ` Ingo Molnar
2006-02-01 14:32 ` Steven Rostedt
2006-02-02 1:26 ` Peter Williams
2006-02-02 2:48 ` Steven Rostedt
2006-02-02 3:19 ` Peter Williams
2006-02-01 13:08 ` Ingo Molnar
2006-02-01 13:11 ` Ingo Molnar
2006-02-02 1:42 ` Peter Williams
2006-02-02 2:51 ` Steven Rostedt
2006-02-01 13:15 ` Steven Rostedt
2006-02-01 13:23 ` Steven Rostedt
2006-02-01 13:26 ` Ingo Molnar
2006-02-01 16:11 ` Steven Rostedt
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=20060201141248.GA6277@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nickpiggin@yahoo.com.au \
--cc=pwil3058@bigpond.net.au \
--cc=rostedt@goodmis.org \
--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