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 [off-list ref] 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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20161220/c189083a/attachment-0001.html