2009-10-12 18:01:19

by Dragoslav Zaric

[permalink] [raw]
Subject: Real time kernel

If you build kernel 2.6 with preemption configured in,
do you get real-time operation system ?

Thanks


2009-10-12 18:21:33

by Thomas Backlund

[permalink] [raw]
Subject: Re: Real time kernel

Dragoslav Zaric wrote:
> If you build kernel 2.6 with preemption configured in,
> do you get real-time operation system ?

http://rt.wiki.kernel.org/index.php/Main_Page

--
Thomas

2009-10-12 20:23:37

by Christoph Lameter

[permalink] [raw]
Subject: Re: Real time kernel

On Mon, 12 Oct 2009, Dragoslav Zaric wrote:

> If you build kernel 2.6 with preemption configured in,
> do you get real-time operation system ?

Depends on what you mean by realtime. If you want a slower kernel with
less outliers then enable preempt.

2009-10-12 21:06:05

by Dragoslav Zaric

[permalink] [raw]
Subject: Re: Real time kernel

This is definition from http://rt.wiki.kernel.org/

-------------------------------------------------------------------------
Real-time applications have operational deadlines between some
triggering event and the application's response to that event. To meet
these operational deadlines, programmers use real-time operating
systems (RTOS) on which the maximum response time can be calculated or
measured reliably for the given application and environment.
-------------------------------------------------------------------------

So for specific requirements I would not say, you get slower kernel,
you get purpose-making kernel, because on these kind of systems you
probably do not do anything. It is probably the system that listens
and responds to some events.

Do you want to say, when using preemption in "normal user mode", Linux
works slower then without preemption ?
It makes sense,

"because the latency of a task only depends on the tasks running at
equal or higher priorities, all other tasks can be ignored."
(http://rt.wiki.kernel.org/index.php/Frequently_Asked_Questions#What_is_real-time.3F)

Thanks

2009-10-12 21:16:36

by Christoph Lameter

[permalink] [raw]
Subject: Re: Real time kernel

On Mon, 12 Oct 2009, Dragoslav Zaric wrote:

> This is definition from http://rt.wiki.kernel.org/
>
> -------------------------------------------------------------------------
> Real-time applications have operational deadlines between some
> triggering event and the application's response to that event. To meet
> these operational deadlines, programmers use real-time operating
> systems (RTOS) on which the maximum response time can be calculated or
> measured reliably for the given application and environment.
> -------------------------------------------------------------------------

What is the calculated maximum response time in this case?

> So for specific requirements I would not say, you get slower kernel,
> you get purpose-making kernel, because on these kind of systems you
> probably do not do anything. It is probably the system that listens
> and responds to some events.

Ahh..

> Do you want to say, when using preemption in "normal user mode", Linux
> works slower then without preemption ?
> It makes sense,

Preemption increases code and data size of the kernel which causes the
processors to have to process more instructions and touch more cachelines
to do the same work.

> "because the latency of a task only depends on the tasks running at
> equal or higher priorities, all other tasks can be ignored."
> (http://rt.wiki.kernel.org/index.php/Frequently_Asked_Questions#What_is_real-time.3F)

Latency depends on the number of cachelines touched and on the number of
instructions that have to be processed by a processor until a reaction to
an event can occur. Increasing the latency by make processing more complex
can avoid outliers. You trade speed for guarantees in realtime OSes.