O desenvolvedor Aiden Hecker enviou uma nova série de patches para o kernel Linux com o objetivo de corrigir problemas no gerenciamento de desempenho dos processadores híbridos AMD Ryzen AI. Esses patches foram baseados em testes realizados com o processador Ryzen AI 7 350, visando resolver uma falha de escalonamento que faz com que os núcleos de alto desempenho (Zen 5) e os núcleos densos (Zen 5c) sejam tratados da mesma forma pelo sistema operacional.
O que é o problema de escalonamento?
O Ryzen AI 7 350, que faz parte da família “Krackan Point”, possui uma arquitetura heterogênea, composta por quatro núcleos físicos Zen 5 com frequência de até 5.09 GHz e quatro núcleos físicos Zen 5c com frequência limitada a 3.51 GHz. Ambos os tipos de núcleos compartilham um complexo (CCX) com 16 MiB de cache L3.
Atualmente, a versão principal do Linux não ativa a escala de capacidade híbrida para essa arquitetura, resultando em uma interpretação errônea do sistema operacional, que atribui um valor estático a todos os 16 núcleos lógicos desse chip. Isso significa que tarefas críticas podem ser direcionadas a núcleos Zen 5c, levando a uma penalidade de latência de até 42,7% em comparação com os núcleos Zen 5, como medido pelos testes realizados por Hecker.
Após aplicar suas modificações, a latência média em um teste de estresse com 16 threads caiu de 75,77 ms para 34,66 ms.
Soluções propostas e ajustes no SMT
As melhorias propostas por Hecker envolvem dois patches principais. O primeiro modifica o driver amd-pstate, permitindo ao sistema operacional reconhecer a diferença de capacidade entre os núcleos. O segundo patch aborda o Simultaneous Multithreading (SMT), sugerindo que as threads secundárias tenham prioridade inferior (7/8 do valor da thread principal) para garantir que os núcleos Zen 5 clássicos sejam utilizados primeiro.
Críticas e desafios na implementação
Apesar de identificar problemas no hardware híbrido, as sugestões de Hecker enfrentaram resistência dentro da comunidade de desenvolvedores. K Prateek Nayak, engenheiro da AMD, expressou preocupações sobre a abordagem adotada. Ele criticou a mistura de priorização dos núcleos com a capacidade de processamento assimétrica, destacando que a capacidade deve ser definida pela maior frequência operacional dos núcleos, sem interferências nas prioridades de uso.
Nayak também apontou que a identificação das capacidades deve ocorrer na inicialização do computador e não durante a operação, sugerindo que o método atual de Hecker é desnecessariamente complexo.
Os patches atualmente estão na versão 2 e necessitam de reescritas antes de serem considerados para inclusão no kernel principal. Até que uma solução estável seja aceita, os processadores Ryzen AI continuarão com um gerenciamento simétrico no Linux.

