Re: Gurus, a silly question for preemptive behavior

From: jesse
Date: Tue Dec 21 2004 - 13:35:37 EST


Con:

thank you for your prompt reply in the holiday
season.

My point is: Even kernel 2.4 is not
preemptive, the latence should be very
minimal.(<300ms)
why user space application with low nice priority
can't be effectively interrupted and holds the CPU
resource since all user space application is
preemptive?

Merry Xmas.

jesse



--- Con Kolivas <kernel@xxxxxxxxxxx> wrote:

> jesse writes:
>
> >
> > As i know, in linux, user space application is
> > preemptive at any time. however, linux kernel is
> NOT
> > preemptive, that means, even some event is
> finished,
> > Linux kernel scheduler itself still can't have
> > opportunity to interrupt the current user
> application
> > and switch it out. it is called scheduler latency.
>
> The kernel is preemptible if you enable the preempt
> option in the
> configuration. There are some code paths that are
> not preemptible despite
> this, but they are gradually being improved over
> time.
>
> > normally , the latency is about 88us in mean ,
> maximum
> > : 200ms. Thus, the short latency shouldn't impact
> user
> > applications too much and is not a problem. It is
> an
> > issue in those embedded voice processing systems
> by
> > introducing jitters, thus smart people came up
> with
> > two kernel schedule patch: preemptive patch and
> low
> > latency patch.
>
> You're thinking about the 2.4 kernel. 2.6 is
> effectively both of those
> patches inclusive.
>
> > my system:
> > [root@sa-c2-7 proc]# uname -a
> > Linux sa-c2-7 2.4.21-15.ELsmp #1 SMP Thu Apr 22
> > 00:18:24 EDT 2004 i686 i686 i386 GNU/Linux
>
> If you want lower latency on a 2.4 kernel you need
> further patches. You are
> most likely to benefit from a move to a 2.6 kernel
> and enabling preempt.
>
> Cheers,
> Con
>
>

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