4.2.3. Seleção da política
Selecionar a política do agendador correta para threads de uma aplicação nem sempre é uma tarefa simples. Em geral, as políticas em tempo real deve ser usada para o tempo de tarefas críticas ou importantes que têm de ser agendados de forma rápida e não serem executados por períodos de tempo prolongados. Políticas normais geralmente trazem melhores resultados do que as políticas de transferência de dados em tempo real porque eles permitem que o agendador execute segmentos de forma mais eficiente (ou seja, eles não precisam reagendar para a preempção como sempre).
Se você estiver gerenciando um grande número de threads e estiver preocupado principalmente com o rendimento de dados (os pacotes de rede por segundo, gravações de disco, etc) então utilize o
SCHED_OTHER
e deixe o sistema gerenciar o uso da CPU para você.
Se você estiver preocupado com o tempo de resposta do evento (latência), use o
SCHED_FIFO
. Caso você tenha um número de threads pequeno, considere isolar um soquete de CPU e mover suas threads para aqueles núcleos de soquete, assim não existirão outras threads competindo por tempo nos núcleos.