Devs do Wine estão trabalhando em nova API Sync como alternativa ao ESYNC/FSYNC

Embora existam as soluções "ESYNC" e "FSYNC", que ajudam a melhorar o desempenho de jogos com multithread, parece que os desenvolvedores do Wine estão de volta à prancheta ao propor uma implementação para o kernel Linux para primitivos de sincronização do Wine que atenderá a todas as suas necessidades e que deve corresponder bem ao comportamento do Windows. Desenvolvedor na CodeWeavers, Zebediah Figura publicou uma longa postagem na lista de discussão na noite do ultimo domingo (17) detalhando o estado atual e os objetivos de criar primitivos de sincronização Wine baseados em kernel. Embora os patches ESYNC/FSYNC tenham obtido sucesso em melhorar o desempenho de muitos jogos do Windows em execução no Linux, eles ainda estão trabalhando em uma solução mais abrangente e que possa corresponder bem ao comportamento do Windows, bem como com velocidade ideal. Os desenvolvedores do Wine estão procurando uma interface de kernel próxima à API de objeto de sincronização do Windows NT com no máximo uma chamada de sistema por operação e sem gerenciar o estado do objeto na memória compartilhada gerenciada pelo usuário. O trabalho ESYNC/FSYNC existente contém ineficiências e alguns aplicativos nem mesmo funcionam com a implementação. Portanto, os desenvolvedores estão dando um passo para trás para discutir as soluções possíveis e a postagem na lista de discussão do kernel tem uma API de espaço do usuário hipotética sendo pensada neste momento. A interface "NTSYNC" proposta poderia expor um novo dispositivo /dev/ntsync que modela mais de perto a API do objeto de sincronização do Windows NT em comparação com as abordagens anteriores. Aqueles interessados em todos os detalhes técnicos podem ver esta postagem na lista de discussão do kernel. Patches para a API NTSYNC proposta ainda precisam ser escritos, mas aguardam mais feedback dos demais desenvolvedores do kernel Linux sobre quaisquer outros requisitos de design e o que seria considerado aceitável para tornar a nova implementação padrão no kernel Linux.
Comentários