Como parte das mudanças do drm-misc-next da semana passada, foi implementado o suporte para rastreamento de memória livre liberada, inicialmente configurado para o driver de kernel AMDGPU.
Os engenheiros da AMD têm trabalhado na implementação da funcionalidade de rastreamento de “páginas limpas” para o alocador de memória DRM buddy. Este recurso é usado para rastrear memória livre liberada e, embora ainda não tenha sido mesclado, também há um patch para trabalhar no suporte à desfragmentação que depende da funcionalidade de página limpa.
O alocador de memória DRM buddy pode ser usado por diferentes drivers do Direct Rendering Manager, mas para o DRM-Next, o primeiro usuário desta funcionalidade de página limpa é apenas o driver AMDGPU.
A série de patches anterior de Arunpravin Paneer Selvam, da AMD, adiciona ainda mais:
- Adiciona o recurso de rastreamento de página limpa.
- O driver deve habilitar a flag DRM_BUDDY_CLEARED se conseguir limpar os blocos no caminho livre. Por outro lado, o DRM buddy marca cada bloco como limpo.
- Rastreia o tamanho das páginas limpas disponíveis
- Se o driver solicitar memória limpa, preferimos memória limpa, mas recorremos à memória não limpa se não conseguirmos encontrar os blocos limpos. Quando o driver solicita memória não limpa, tentamos usar memória não limpa, mas recorremos à memória limpa, se necessário.
- Quando um bloco é liberado, nós o limpamos e marcamos o bloco liberado como limpo, quando há buddies que também estão limpos, podemos mesclá-los. Caso contrário, preferimos manter os blocos separados.
Este recurso de página limpa no código DRM buddy e no driver AMDGPU faz parte deste pull no drm-misc-next que entrará no kernel Linux 6.10 assim que a janela de mesclagem abrir no final deste mês.
Até a próxima !!
Nenhum comentário:
Postar um comentário