Re: What's the priority of the idle task?
Till Smejkalwrites: > [...] Hence, the idle task is not managed by CFS and accordingly > doesn't have any nice value or priority (or at least it is not > important nowadays). Thanks for your very to-the-point answer! I'm still disturbed by the above statement, though, because not being managed by CFS does not imply having no meaningful priority: RT tasks seem to have one. Did you mean to imply this? Guessing not, I added your answer with code illustrations as https://unix.stackexchange.com/a/436575/119808. -- Regards, Feri
Re: What's the priority of the idle task?
Till Smejkal writes: > [...] Hence, the idle task is not managed by CFS and accordingly > doesn't have any nice value or priority (or at least it is not > important nowadays). Thanks for your very to-the-point answer! I'm still disturbed by the above statement, though, because not being managed by CFS does not imply having no meaningful priority: RT tasks seem to have one. Did you mean to imply this? Guessing not, I added your answer with code illustrations as https://unix.stackexchange.com/a/436575/119808. -- Regards, Feri
What's the priority of the idle task?
Hi, (Please let me ask my Stackexchange question [1] here as well in the hope of getting an answer from this board of dedicated experts.) As explained by several (if somewhat old) articles [2,3,4], the Linux idle task (PID=0, one per CPU) is run when there are no other tasks to run. To get the scheduler do this, the idle task must have the lowest priority reserved for it. That old Documentation/ftrace.txt in the linked LWN article explicitly says that > The prio "140" is reserved for the idle task which is the lowest > priority thread (pid 0). This makes sense, but under Linux 4.9 # perf record -e sched:sched_switch sleep 1 # perf script sleep 6526 [000] 362661.310842: sched:sched_switch: sleep:6526 [120] S ==> swapper/0:0 [120] reports a priority of 120 for swapper/0 (in the closing bracket), contradicting the above. How does the Linux scheduler handle the idle task nowadays? The commits removing the quoted text from ftrace.txt (87d80de28, 294ae4011) didn't help. Please Cc me on answers/comments. Thanks, Feri. [1] https://unix.stackexchange.com/questions/435089/whats-the-priority-of-the-idle-task [2] https://superuser.com/a/972581/462180 [3] https://lwn.net/Articles/290277/ [4] https://unix.stackexchange.com/questions/361245/what-does-an-idle-cpu-process-do
What's the priority of the idle task?
Hi, (Please let me ask my Stackexchange question [1] here as well in the hope of getting an answer from this board of dedicated experts.) As explained by several (if somewhat old) articles [2,3,4], the Linux idle task (PID=0, one per CPU) is run when there are no other tasks to run. To get the scheduler do this, the idle task must have the lowest priority reserved for it. That old Documentation/ftrace.txt in the linked LWN article explicitly says that > The prio "140" is reserved for the idle task which is the lowest > priority thread (pid 0). This makes sense, but under Linux 4.9 # perf record -e sched:sched_switch sleep 1 # perf script sleep 6526 [000] 362661.310842: sched:sched_switch: sleep:6526 [120] S ==> swapper/0:0 [120] reports a priority of 120 for swapper/0 (in the closing bracket), contradicting the above. How does the Linux scheduler handle the idle task nowadays? The commits removing the quoted text from ftrace.txt (87d80de28, 294ae4011) didn't help. Please Cc me on answers/comments. Thanks, Feri. [1] https://unix.stackexchange.com/questions/435089/whats-the-priority-of-the-idle-task [2] https://superuser.com/a/972581/462180 [3] https://lwn.net/Articles/290277/ [4] https://unix.stackexchange.com/questions/361245/what-does-an-idle-cpu-process-do