Aqui eu encontro uma explicação mais clara, mas simples: link Como dito no artigo: O SWIOTLB ignora o IOMMU e permite uma interface de gerenciamento de memória muito mais configurável. Sem entrar na profunda complexidade de como isso funciona, as tabelas de páginas são armazenadas em cache no Buffer Lookaside, reduzindo a necessidade de acessar constantemente RAM física para mapear a memória. Essa tecnologia também é chamada de buffer de rejeição, já que o endereço físico do mapa de memória é mantido neste espaço virtual e o IO é devolvido entre o IO físico e a memória física por esse buffer de lookaside virtual.
Isso permite que o mapeamento de memória seja executado rapidamente e tenha um espaço de memória física disponível para uso muito mais rápido do que se ele tivesse que ser criado fisicamente na RAM e apresentado ao sistema como utilizável.
Espero que isso seja útil