Uma correção fornecida pela Microsoft como parte de suas atualizações do Hyper-V para o kernel Linux 5.19 pode reduzir alguns minutos dos tempos de inicialização da VM do Azure ao iniciar uma máquina virtual com várias GPUs.
A Microsoft conseguiu uma mudança em seu driver Hyper-V PCI Linux para não definir “PCI_COMMAND_MEMORY” para evitar o longo tempo gasto na inicialização pelo host para desmapear/mapear o vBAR de/para o pBAR quando a VM está inicializando e define isso pedaço.
Para seus poderosos aceleradores com até 128 GB de RAM, o unmap/map em uma BAR de 128 GB pode levar 1,8 segundos e essa operação é executada oito vezes com o código Linux/pci-hyperv atual durante o tempo de inicialização. Isso equivale a cerca de 14 segundos de tempo de inicialização adicional por GPU/acelerador.
Microsoft reduz o tempo de inicialização do Hyper-V para grandes VMs do Azure com Linux 5.19
Assim, para suas maiores VMs do Azure atualmente com 14 GPUs/aceleradores, o comportamento atual do kernel pode induzir 176 segundos adicionais ao tempo de inicialização. O Linux 5.19 reduz esses quase três minutos do tempo de inicialização da VM.
Além dessa alteração do PCI do Hyper-V para reduzir o tempo de inicialização em VMs do Azure aceleradas por GPU, também há proteção de segurança realizada em seus drivers PCI e hv_sock, várias correções, remoção de código para versões do Hyper-V que foram encerradas há muito tempo -of-life, e outras correções. Consulte este pull para obter a lista completa de atualizações do Microsoft Hyper-V para Linux 5.19.
Linux 5.19 permite que a EFI acesse segredos de VM para computação confidencial AMD SEV
As alterações EFI para o kernel Linux 5.19 trazem algumas mudanças interessantes, incluindo a capacidade de acessar segredos injetados na imagem de inicialização por meio de hipervisores “CoCo” de computação confidencial.
Com o Linux 5.19 vem um novo módulo “efi_secret” que expõe a área secreta EFI de computação confidencial (armazenada em uma área reservada da área de memória reservada EFI) para a VM convidada por meio da interface SecurityFS.
Quando o SecurityFS está habilitado e este novo módulo efi_secret, quaisquer segredos são acessíveis através do diretório padrão /sys/kernel/security/coco/efi_secret. Um arquivo representa cada entrada secreta. Os aplicativos privilegiados podem ler esses segredos passados para a VM por meio do mecanismo de injeção de segredo seguro de hipervisores capazes. Os processadores AMD EPYC com Secure Encrypted Virtualization (SEV), por exemplo, podem transmitir segredos usando o comando “LAUNCH_SECRET”.
Os aplicativos depois de ler esses arquivos secretos podem remover/desvincular os arquivos, o que, por sua vez, fará com que eles zerem o segredo na memória.
O Linux 5.19 com o módulo de kernel “efi_secret” permitirá que as VMs acessem com segurança os segredos transmitidos a ele e apoiados pela segurança de hardware como o AMD EPYC com SEV.
Embora isso seja inicialmente adaptado ao AMD SEV para expor segredos de EFI de computação confidencial, o próprio driver foi escrito por um engenheiro da IBM. Mais detalhes sobre esse novo recurso na documentação recém-adicionada.
Além do suporte a segredos EFI, as outras alterações EFI para Linux 5.19 incluem a capacidade de serviços de tempo de execução EFI serem reativados na inicialização em kernels em tempo real (RT), usando serviços DXE em x86_64 para permitir a inicialização imagem executável após realocação, se necessário, e preferindo memória espelhada para alocações aleatórias.
Via Phoronix