2003-02-04 00:42:57

by Akram.Abou-Emara

[permalink] [raw]
Subject: Kernel Threads question on 2.4

Hi All,

I have a couple of questions:

Do kernel threads get preempted? Or do they have to
give up the CPU on their own?

Are there any rules for what scheduling policies and
priority a kernel thread can have?
reparent_to_init()sets the scheduling policy to
SCHED_OTHER. Do you see a problem with changing the
scheduling policy to SCHED_FIFO?

Thanks,
Akram


2003-02-04 00:49:52

by Robert Love

[permalink] [raw]
Subject: Re: Kernel Threads question on 2.4

On Mon, 2003-02-03 at 19:52, [email protected] wrote:

These questions might be better asked on the kernelnewbies list...

> Do kernel threads get preempted? Or do they have to
> give up the CPU on their own?

Without the preemptive kernel, they are not preemptive. With
preempt-kernel, they are. They tend to run at elevated priorities
anyhow, so this is not so much of an issue.

> Are there any rules for what scheduling policies and
> priority a kernel thread can have?
> reparent_to_init()sets the scheduling policy to
> SCHED_OTHER. Do you see a problem with changing the
> scheduling policy to SCHED_FIFO?

kernel threads can have any scheduling policy or priority - they really
do not differ much from regular threads (sans the lack of address
space).

Some kernel threads do indeed run with real-time policy.

Robert Love