kernel thread priority over user thread
Hello, I am trying to understand if kernel thread are always higher priority then user thread. Say, a kernel thread (created with kthread_create with SCHED_FIFO and given priority x), and user thread (created with pthread_create was created with SCHED_FIFO and given priority y), and priority of pthread is higher than kthread, would still the kernel thread get into scheduler before the user thread ? How is the scheduler decides which get first into the running state ? Regards, Ran
On Tue, Dec 20, 2016 at 2:02 PM, Ran Shalit <ranshalit@gmail.com> wrote:
Hello,
I am trying to understand if kernel thread are always higher priority then user thread.
Say, a kernel thread (created with kthread_create with SCHED_FIFO and given priority x), and user thread (created with pthread_create was created with SCHED_FIFO and given priority y), and priority of pthread is higher than kthread, would still the kernel thread get into scheduler before the user thread ? How is the scheduler decides which get first into the running state ?
Regards, Ran
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Dear Ran Tough question, but let me clarify, when you mean higher, do you mean y > x? All in all, kernel thread and user thread is treated the same in the kernel's point of view. So in your case, unless one of them voluntarily give up his time slice, or preempted by certain case, thread with higher priority will be picked by scheduler first CMIIW -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com
participants (2)
-
Mulyadi Santosa -
Ran Shalit