Conforme explicado em vários artigos (um tanto antigos) , a tarefa ociosa do Linux (PID=0, uma por CPU) é executada quando não há outras tarefas a serem executadas. Para que o agendador faça isso, a tarefa ociosa deve ter a prioridade mais baixa reservada para ela. Aquele velho Documentation/ftrace.txt
no artigo LWN vinculado diz explicitamente que
O prio "140" é reservado para a tarefa ociosa que é o segmento de prioridade mais baixa (pid 0).
Isso faz sentido, mas no 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]
relata uma prioridade de 120 para swapper/0
(no colchete de fechamento), contradizendo o acima.
Como o agendador do Linux lida com a tarefa ociosa hoje em dia? A mudança de commits ftrace.txt
(87d80de28, 294ae4011) não ajudou.