Eu atualmente herdei alguns códigos legados em que o programa do usuário gera dois threads em execução no nível de prioridade 49.
Aqui está um trecho de um dos tópicos:
SchedParam.sched_priority = 49;
if(retval=pthread_setschedparam(pthread_self(), SCHED_RR, &SchedParam))
SysError("'pthread_setschedparam()' for thread X failed");
Eu tenho feito algumas modificações neste código legado e notei alguns comportamentos estranhos ocasionais nos quais o servidor de desenvolvimento apenas "travaria". Essencialmente, não consigo fazer login no servidor e nem consigo fazer o ping no dispositivo.
Supondo que eu introduza um bug onde o programa do usuário trava, estou curioso para saber se o sched_priority = 49 pode ser a causa. Cheguei à conclusão de que não sei como essa prioridade se compara a outros processos do sistema linux (como o processo que responde a pings).
Eu percebo que poderia haver uma variedade de outras coisas dando errado (por exemplo, travar o kernel) e não estou de modo algum perguntando qual prioridade devo usar para esse segmento, no entanto, estou curioso para saber se há um método para determinando a prioridade dos processos do sistema linux.
É possível que minha prioridade 49 seja maior do que a maioria dos outros processos do sistema?
Tags priority thread multithreading