O criador do Linux, Linus Torvalds, não escreve tanto código de kernel atual como costumava fazer. Atualmente, ele está frequentemente ocupado supervisionando a comunidade de desenvolvimento do kernel upstream, revisando o código, gerenciando lançamentos e participando das discussões da lista de discussão. De vez em quando, porém, ele fica para baixo e sujo com alguns hackers de kernel de baixo nível, assim como ele fez agora para o Linux 6.5 com a melhoria do código de expansão de pilha do modo de usuário. Então, Linus Torvalds trabalha codificação para melhorar a expansão da pilha do modo de usuário do Linux.
Apenas 500 linhas de retrabalho de código são para melhorar os bits de expansão de pilha do modo de usuário.
Linus Torvalds trabalha codificação para melhorar a expansão da pilha do modo de usuário do Linux. Ele explicou na fusão:
Isso modifica nosso código de expansão de pilha do modo de usuário para sempre usar o mmap_lock para gravação antes de modificar o layout da VM.Na verdade, é algo que tecnicamente sempre deveríamos ter feito, mas como não precisávamos estritamente disso, estávamos sendo preguiçosos (“oportunista” soa muito melhor, não é?) estenderia a pilha vma no local sem fazer o bloqueio adequado.E funcionou bem.
Nós só precisávamos mudar vm_start (ou, no caso de pilhas crescentes, vm_end) e junto com algum bloqueio ad-hoc especial usando o bloqueio anon_vma e o mm->page_table_lock, tudo foi bastante direto.Ou seja, estava tudo bem até Ruihan Li apontar que agora que o layout vma usa o código maple tree, nós *realmente* não apenas mudamos vm_start e vm_end mais, e o bloqueio realmente está quebrado.
Ops.Na verdade, não é tão horrível consertar isso de uma vez por todas e fazer o bloqueio adequado, mas é um pouco doloroso. Temos basicamente três casos diferentes de expansão de pilha e todos eles funcionam de maneira um pouco diferente.
Para o Linux 6.5, isso agora deve ser resolvido graças a Linus Torvalds assumindo ele mesmo o desafio de codificação.
Linux 6.5 adiciona Limpeza de Dispositivo CXL, apagamento seguro, e Monitor de Desempenho CXL 3.0
O novo kernel Linux 6.5 que começa a ser trabalhado vem com muitas novidades. A habilitação do Compute Express Link (CXL) no kernel do Linux continua em andamento e com o kernel do Linux 6.5 em desenvolvimento, há ainda mais recursos sendo habilitados para esse empolgante padrão da indústria.
O CXL no Linux 6.5 adiciona suporte para Monitoramento de desempenho do CXL 3.0 por meio de um novo driver PMU em conformidade com a especificação, suporte para sanitização de dispositivo para limpar todos os dados de um dispositivo e também suporte para apagamento seguro para criptografia de nova chave dos dados do usuário.
Além disso, o CXL no Linux 6.5 agora oferece suporte à atualização de firmware dos dispositivos Compute Express Link. O manuseio de atualização de firmware de dispositivos CXL está sendo feito facilmente, simplesmente convertendo um blob de firmware em um arquivo sysfs e que é então canalizado para o dispositivo CXL para atualização.
O código CXL também passou por muitas limpezas de código e mais refatoração para se preparar para o tratamento de erros com dispositivos aceleradores CXL Tipo-2 e topologia CXL RCH (CXL 1.1). Há também uma variedade de correções a serem encontradas nas atualizações do subsistema CXL para este novo kernel.
Os engenheiros da Intel Linux continuam a dominar o trabalho do subsistema Compute Express Link para o kernel upstream. A lista completa de alterações CXL para o kernel Linux 6.5 pode ser encontrada por meio desta solicitação pull.