Confira !!
Bastante semelhante ao FUSE para sistemas de arquivos no espaço do usuário, o VDUSE está configurado para ser mesclado para o Kernel inux 5.15 ao adicionar suporte para dispositivos vDPA no espaço do usuário.
A estrutura vDPA é o código de aceleração de caminho de dados VirtIO dentro do kernel para dispositivos em conformidade com a especificação VirtIO, mas contando com um caminho de controle específico do fornecedor. A estrutura do vDPA é cada vez mais usada para abstrair hardware e ocultar alguns elementos das complexidades do hardware para o software, ao mesmo tempo que tem uma API unificada de espaço do usuário como um dispositivo VirtIO.
Com o Kernel Linux 5.15, agora é adicionado "VDUSE" após os patches para ele estarem disponíveis desde o ano passado. O VDUSE permite a implementação de dispositivos emulados por software vDPA no espaço do usuário.
O Bytedance desenvolveu o VDUSE como parte de seu esforço para implementar um dispositivo de bloco que se conecta ao seu sistema de armazenamento distribuído que pode ser usado por contêineres e VMs.
O dispositivo vDPA é criado por ioctl (VDUSE_CREATE_DEV) em / dev / vduse / control. Em seguida, uma interface de dispositivo char (/ dev / vduse / $ NAME) é exportada para o espaço do usuário para emulação de dispositivo.
Para tornar a emulação do dispositivo mais segura, o caminho de controle do dispositivo é tratado no kernel. Um mecanismo de mensagem é introduzido para encaminhar algumas mensagens de controle relacionadas ao plano de dados para o espaço do usuário.
E no caminho de dados, o buffer DMA será mapeado no espaço de endereço do espaço do usuário de diferentes maneiras, dependendo do barramento vDPA ao qual o dispositivo vDPA está conectado. No caso do virtio-vdpa, o software baseado em MMU IOTLB é usado para isso. E no caso do vhost-vdpa, o buffer DMA reside em uma região de memória do espaço do usuário que pode ser compartilhada com os processos do espaço do usuário do VDUSE por meio da transferência do shmfd.
Inicialmente, apenas os dispositivos de bloco VirtIO são suportados pelo VDUSE.
Os interessados em aprender mais sobre o VDUSE podem consultar esta documentação .
O VDUSE foi enviado hoje como parte deste PR .
Até a próxima !!
Nenhum comentário:
Postar um comentário