lkml.org 
[lkml]   [1998]   [Sep]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: Interesting scheduling times


On Fri, 18 Sep 1998, Richard Gooch wrote:
>
> Linus: what do you think of this idea? A valid project for 2.3?
> I have to say I'm impressed with the soft-RT performance of Linux. In
> my view the main limitation is the jiffies delay between when an RT
> process is unblocked and when it starts running.

A single run-queue is almost always better than multiple run-queues, and
I'm very unlikely to change that.

The reason for a single run-queue is that it's about 10 times simpler than
any of the alternatives, and it's never slower in real life. Yes, we may
end up walking a few more entries, but the simplicity more than pays back
the cost of that walk.

Even under heavy load, the runqueue is seldom more than a few entries
deep. More than 10 entries on the run-queue is already very rare, and
when it does happen the scheduling overhead is very small compared to what
else the machine is doing: having that many entries implies that the
scheduler isn't your biggest bottle-neck anyway.

That said, the idea of just having two run-queues, one with real-time
processes and one without is so far the best multi-runqueue idea I've
heard. So yes, I could imagine doing something like that, but I still
don't actually believe that the run-queue is the major bottle-neck.

Linus

PS. Here's the patch to make 2.1.122 perform as it should wrt scheduling,
and not save the FP register state all the time. Embarrassing.

diff -u --recursive --new-file v2.1.122/linux/arch/i386/kernel/process.c linux/arch/i386/kernel/process.c
--- v2.1.122/linux/arch/i386/kernel/process.c Thu Sep 17 17:53:34 1998
+++ linux/arch/i386/kernel/process.c Thu Sep 17 17:41:51 1998
@@ -540,10 +540,10 @@
static inline void unlazy_fpu(struct task_struct *tsk)
{
if (tsk->flags & PF_USEDFPU) {
- tsk->flags &= ~PF_USEDFPU;
__asm__("fnsave %0":"=m" (tsk->tss.i387));
- stts();
asm volatile("fwait");
+ tsk->flags &= ~PF_USEDFPU;
+ stts();
}
}



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:44    [W:0.074 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site