Как драйвер mlx5 использует IOVA, сгенерированный IOMMU, в качестве адреса DMA?

Я включил на физической машине. Я ожидаю, что будет использовать выделенноеIOMMU moduleпосле включения. Однако в действительностиRDMA NICне использует дляDMA:

введите сюда описание изображения

Прочитав исходный код ядра, я обнаружил, чтоib_dma_map_sgtable_attrs()вызываетсяib_umem_getчтобы получить для каждогоscatterlist (sg) entry. В процессе получения он сначала проверяет, является ли он пустым, а затем решает, следует ли присвоить его. В настоящее время он был отлажен и на данный момент пуст, иDMA addressне назначен наIOVA.

Выполняет ли драйвер mlx5 какие-либо другие действия (например, назначениеdev->ops) при получении устройства структуры *dev, чтобы иметь возможность использоватьIOMMU?

0 ответов

Другие вопросы по тегам