Enviado esta manhã para o Linux 6.3 é uma correção do agendador de CPU do Linux para lidar com um problema de desbalanceamento que está presente no kernel da linha principal desde um retrabalho do agendador que chegou no final de 2019.
Vincent Guittot de Linaro enviou a correção para lidar com um desequilíbrio problema de transbordamento. Vincent explicou:”Quando o grupo local está totalmente ocupado, mas sua carga média está acima da carga do sistema, o cálculo do desequilíbrio irá estourar e o grupo local não é o melhor alvo para puxar essa carga.”
O problema está presente no kernel da linha principal desde outubro de 2019. Embora a correção seja de um engenheiro da Linaro, o problema foi descoberto em um Intel Xeon Scalable Sapphire Rapids servidor. Uma postagem na lista de e-mails descreve melhor esse problema devido para o bug de estouro de inteiro:
“O algoritmo é projetado para puxar algumas tarefas do grupo mais ocupado para o grupo local. Mas quando ambos os grupos estão ou ficarão sobrecarregados, o algoritmo não deseja empurrar o local grupo acima da carga média do domínio sched. No entanto, em alguns casos, o cálculo do desequilíbrio pode estar errado, causando uma migração sem sentido e até mesmo amplificando o desequilíbrio.”
A correção foi enviada esta manhã como um sched/urgent pull antes do lançamento do kernel Linux 6.3-rc7 ainda hoje. A correção é não tentar retirar nenhuma tarefa do grupo local se ele estiver mais carregado do que a carga média do sistema. Uma vez adquirido pela linha principal, ele também deve ser portado de volta para as versões recentes e estáveis do kernel do Linux.