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:37:27 +0100 [thread overview]
Message-ID: <20060201143727.GA9915@elte.hu> (raw)
In-Reply-To: <43E0C4CF.8090501@yahoo.com.au>
* Nick Piggin <nickpiggin@yahoo.com.au> wrote:
> What I am talking about is when you want a task to have the highest
> possible scheduling priority and you'd like to guarantee that it is
> not interrupted for more than Xus, including scheduling latency.
this is not a big issue in practice, because it's very hard to saturate
current x86 systems running the -rt kernel with pure IRQ load. The APIC
messages all have a natural latency, which serves as a throttler.
[ Pretty much the only way i know to lock up a box via hardirq load is
to misprogram the local APIC timer IRQ. (but we have protection
against that in the HRT code, and the same is not possible via
external interrupts.) ]
in case this becomes a problem (on some other platforms) we have a
solution for it: interrupt prioritiziation. We didnt want to complicate
things with this in the current IRQ preemption model, but it's all
pretty straightforward to do.
> Now in your kernel you can measure a single long interrupt time, but
> if you "break" that latency by splitting it into two interrupts, the
> end result will be the same if not worse due to decreased efficiency.
there really is a maximum rate of interrupts you can inject, which has
an effect of slowing down the CPU, which has a linear effect on the
worst-case latency - but not not some other drastic effect.
> >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.
>
> Then it is a fine hack for the RT kernel (or at least an improved,
> batched version of the patch). No arguments from me.
no, it is also fine for the mainline scheduler, as long as the patch is
clean and does the obviously right thing [which the current patch doesnt
offer]. A 1+ msec latency with irqs off is nothing to sniff at. Trying
to argue that 'you can get the same by using rwsems so why should we
bother' is pretty lame: rwsems are rare and arguably broken in behavior,
and i'd not say the same about the scheduler (just yet :-).
Ingo
next prev parent reply other threads:[~2006-02-01 14:38 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
2006-02-01 14:25 ` Nick Piggin
2006-02-01 14:37 ` Ingo Molnar [this message]
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=20060201143727.GA9915@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