O High Precision Event Timer (HPET) tem sido uma fonte de problemas para os desenvolvedores do Linux, e os sistemas que dependem do HPET em vez do contador de carimbo de data/hora da CPU (TSC) têm experimentado uma degradação significativa do desempenho nos últimos meses, especialmente com o código do driver Mesa OpenGL.
Um relatório de bug foi aberto em abril no Mesa, relatando uma "enorme regressão de desempenho". Após investigação, descobriu-se que a regressão estava relacionada a uma alteração chamada "glthread" no encadeamento do Mesa OpenGL. Desde a introdução dessa regressão, o desempenho pode cair pela metade.
A raiz do problema estava no uso do High Precision Event Timer (HPET) em vez do contador de carimbo de data/hora (TSC) da CPU para temporização do hardware, ao usar o encadeamento do Mesa OpenGL.
Para corrigir essa regressão, uma fusão foi realizada, determinando agora um bloqueio global uma vez a cada 64 patches para chamar a função "get time" com menos frequência. Ao reduzir a frequência dessas chamadas, o impacto no desempenho é reduzido. No entanto, é recomendado que a maioria dos usuários confie no TSC em vez do HPET. Para verificar a fonte de relógio atual do seu sistema, você pode ler o arquivo "/sys/devices/system/clocksource/clocksource0/current_clocksource".
Essa solução oferece uma abordagem simples para mitigar o problema, mas é importante ressaltar que a preferência pelo TSC em relação ao HPET pode ajudar a evitar problemas de desempenho relacionados ao uso do Mesa OpenGL.
Até a próxima !!
Nenhum comentário:
Postar um comentário