LINUX.ORG.RU

История изменений

Исправление Jameson, (текущая версия) :

Про АМД железо не скажу, не сталкивался в контексте проброса и виртуализации, для INTEL важно наличие IOMMU (IMHO это уже всюду есть). Но и тут не всё так просто, важно как BIOS машины при загрузке распределяет адреса для устройств, пихает все устройства в одну общую группу (это плохо), либо выделяет каждому устройству отдельную (это то что нужно). Но даже в случае когда BIOS объединяет устройства, нужное устройство можно уже средствами ядра переместить в отдельную группу. Или нет, опять таки от BIOS зависит.

Вот фрагмент моего dmesg, в котором видно что устройства автоматически раскидываются каждое в свою группу.

...
pci 0000:00:00.0: Adding to iommu group 0
pci 0000:00:01.0: Adding to iommu group 1
pci 0000:00:01.1: Adding to iommu group 2
pci 0000:00:02.0: Adding to iommu group 3
pci 0000:00:02.1: Adding to iommu group 4
pci 0000:00:02.2: Adding to iommu group 5
pci 0000:00:02.3: Adding to iommu group 6
pci 0000:00:03.0: Adding to iommu group 7
pci 0000:00:03.1: Adding to iommu group 8
pci 0000:00:03.2: Adding to iommu group 9
pci 0000:00:03.3: Adding to iommu group 10
...

Так что универсального ответа нет, нужно смотреть какое железо у других и консультироваться у «знающих» по поводу особенностей своего, если оно уже куплено.

Исправление Jameson, :

Про АМД железо не скажу, не сталкивался в контексте проброса и виртуализации, для INTEL важно наличие IOMMU (IMHO это уже всюду есть). Но и тут не всё так просто, важно как BIOS машины при загрузке распределяет адреса для устройств, пихает все устройства в один общий сегмент IOMMU (это плохо), либо выделяет каждому устройству изолированный (это то что нужно). Но даже в случае когда BIOS объединяет устройства, нужное устройство можно уже средствами ядра переместить в изолированный сегмент. Или нет, опять таки от BIOS зависит.

Вот фрагмент моего dmesg, в котором видно что устройства автоматически раскидываются каждое в свою группу.

...
pci 0000:00:00.0: Adding to iommu group 0
pci 0000:00:01.0: Adding to iommu group 1
pci 0000:00:01.1: Adding to iommu group 2
pci 0000:00:02.0: Adding to iommu group 3
pci 0000:00:02.1: Adding to iommu group 4
pci 0000:00:02.2: Adding to iommu group 5
pci 0000:00:02.3: Adding to iommu group 6
pci 0000:00:03.0: Adding to iommu group 7
pci 0000:00:03.1: Adding to iommu group 8
pci 0000:00:03.2: Adding to iommu group 9
pci 0000:00:03.3: Adding to iommu group 10
...

Так что универсального ответа нет, нужно смотреть какое железо у других и консультироваться у «знающих» по поводу особенностей своего, если оно уже куплено.

Исходная версия Jameson, :

Про АМД железо не скажу, не сталкивался в контексте проброса и виртуализации, для INTEL важно наличие IOMMU (IMHO это уже всюду есть). Но и тут не всё так просто, важно как BIOS машины при загрузке распределяет адреса для устройств, пихает все устройства в один общий сегмент IOMMU (это плохо), либо выделяет каждому устройству изолированный (это то что нужно). Но даже в случае когда BIOS объединяет устройства, нужное устройство можно уже после загрузки переместить в изолированный сегмент. Или нет, опять таки от BIOS зависит.

Вот фрагмент моего dmesg, в котором видно что устройства автоматически раскидываются каждое в свою группу.

...
pci 0000:00:00.0: Adding to iommu group 0
pci 0000:00:01.0: Adding to iommu group 1
pci 0000:00:01.1: Adding to iommu group 2
pci 0000:00:02.0: Adding to iommu group 3
pci 0000:00:02.1: Adding to iommu group 4
pci 0000:00:02.2: Adding to iommu group 5
pci 0000:00:02.3: Adding to iommu group 6
pci 0000:00:03.0: Adding to iommu group 7
pci 0000:00:03.1: Adding to iommu group 8
pci 0000:00:03.2: Adding to iommu group 9
pci 0000:00:03.3: Adding to iommu group 10
...

Так что универсального ответа нет, нужно смотреть какое железо у других и консультироваться у «знающих» по поводу особенностей своего, если оно уже куплено.