Está sendo trabalhado desde 2020 o suporte do Linux para DMA ponto a ponto no espaço do usuário entre unidades NVMe e ontem marcou a iteração mais recente desses patches.

Logan Gunthorpe continua trabalhando neste P2PDMA de espaço de usuário com dispositivos O_DIRECT NVMe. Essa funcionalidade continua a funcionar para sistemas sem um IOMMU ou as implementações AMD e Intel IOMMU são atualmente suportadas.

Este conjunto de patches habilita o espaço de usuário P2PDMA, permitindo que o espaço do usuário para mmap() alocados pedaços do CMB. O VMA resultante pode ser passado apenas para O_DIRECT IO em arquivos com suporte de NVMe ou dispositivos de bloco. Um sinalizador é adicionado a GUP() no Patch 14, então os Patches 15 a 19 conectam este sinalizador com base se a fila de blocos indica suporte a P2PDMA. Os patches 20 a 21 permitem que o CMB seja mapeado no espaço do usuário mapeando o dispositivo nvme char.

Ainda há alguns problemas sendo resolvidos com este código, mas se o suporte P2PDMA NVMe no espaço do usuário for de interesse para você, confira a série de patches mais recente para obter todos os detalhes técnicos.

Categories: IT Info