Envio paralelo da Intel”A API de espaço do usuário para o driver gráfico do kernel i915 foi enfileirada no DRM-Next hoje, antes do ciclo do kernel Linux 5.16.
Este código de envio multi-LRC/paralelo para seu mecanismo GuC e exposto como uma nova API de espaço do usuário está pronto para uso no Linux 5.16. Isso é parte de seu longo esforço contínuo em torno do tratamento de envio de GuC e do aprimoramento de sua API de espaço de usuário à medida que eles integram o agendador DRM e fazem outras melhorias fundamentais. Esta nova uAPI está sendo trabalhada, uma vez que sua uAPI de ligação existente é considerada”quebrada”ao usar o envio de GuC. Para os interessados em todos os detalhes técnicos sobre o design uAPI de envio paralelo e a motivação para fazê-lo, podem ver esta documentação do kernel .
O uAPI de ligação existente é completamente quebrado com o envio do GuC porque se um envio é um envio de contexto único ou envio paralelo não é conhecido até o tempo de execbuf ativado por meio de I915_SUBMIT_FENCE. Para enviar vários contextos em paralelo com o GuC, o contexto deve ser explicitamente registrado com N contextos e todos os N contextos devem ser enviados em um único comando para o GuC. As interfaces GuC não suportam a mudança dinâmica entre contextos N como o uAPI de ligação faz. Daí a necessidade de uma nova interface de envio paralela. Além disso, o uAPI de ligação legado é bastante confuso e nada intuitivo. Além disso, I915_SUBMIT_FENCE é projetado para uma cerca do futuro, então não é realmente algo que devemos continuar a apoiar.
Enquanto isso, no espaço do usuário, o driver de mídia Intel para aceleração de vídeo está pronto com código pendente para fazer uso da interface de envio paralela começando com o hardware Alder Lake P.
Este código de envio paralelo foi enviado na quinta-feira como parte de este drm-intel-gt-próximo PR . Essa solicitação de pull também traz melhorias para garantir que as páginas antigas sejam removidas dos caches antes de disponibilizá-las para clientes do espaço do usuário, juntamente com outras melhorias de código.