LINUX.ORG.RU
ФорумAdmin

Кто-нибудь юзал VT-d/IOMMU на чём-нибудь, кроме видях (сетевые карты, RAID/IO/FC/SAS/SATA/USB-контроллеры, звуковухи)?

 , , , ,


2

1

Собственно, возник вопрос: кто-нибудь юзал что-нибудь, кроме видях, с VT-d/IOMMU? Что именно, зачем и как работало?

Также вопрос: что за iommu=soft? Судя по описанию, это - программная реализация IOMMU, которая также используется с некоторыми звуковухами и USB-контроллерами, которые тупые и не могут отражаться в 3GB+ пространство памяти.

Собственно, возник вопрос: кто-нибудь юзал что-нибудь, кроме видях, с VT-d/IOMMU? Что именно, зачем и как работало?

Вместе с видяхой проброшена пачка USB портов. Пробрасываются так же, как и видео, с драйвером vfio:

-device vfio-pci,host=00:12.0,id=hostdev2
-device vfio-pci,host=00:12.2,id=hostdev3

NeverLoved ★★★★★
()
Ответ на: комментарий от NeverLoved

Вместе с видяхой проброшена пачка USB портов.

Физически они представлены отдельной PCI-платой? Или на матери несколько USB-контроллеров распаяно, и один из них пробрасывается? Кстати, для каких целей? Игрули в винде?

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

lspci показывает несколько USB Controller'ов. Я взял два, и пробросил. И оно, внезапно, заработало. В итоге у меня с задницы матери пробрасываются 4 порта (по два на прокинутый USB Controller).
В проброшенные контроллеры можно подключать мыши/джойстики/камеры етц. Без задрачивания каждый раз с каждой новой железкой (купил новую камеру? иди настраивай проброс usb устройства. хочешь использовать это usb устройство? выпей йаду).
Проще прокинуть порты и в них втыкать любое желаемое железо.

P.S.: Юзаю для игрушек в винде. Вайн в своё время достал по самое не могу. Историю успеха см. у меня в галерее.

NeverLoved ★★★★★
()

я пробрасывал звуковуху, сетевуху и усб 3.0 контроллер, с помощью vfio и на qemu и на другой эмулятор.

dimon555 ★★★★★
()
Ответ на: комментарий от ktulhu666

На какой и зачем?

на некий закрытый. всё из-за зарплаты.

Никаких особых пассов и бубна не потребовалось?

ну пришлось написать некий специальный pci девайс, который обрабатывает маппинг регистров и часть pci конфига эмулирует(например command регистр, настоящим command регистром управляет pci_vfio) и слушает eventfd, чтобы инжектить прерывания в гостевую систему.

ещё повезло, что тот эмулятор умел замапливать гостевую память в память хоста и потом её можно было залочить.

из плохо, что время в устройстве и в виртуальной машине течёт по-разному. Когда вирт машина останавливается, вирт устройство продолжает работать.

когда устройство делает DMA в память об этом никак не известно. Вроде были какие-то подвижке про механизм вроде pagefault со стороны устройства, но не знаю, пошёл ли он в массы.

неизвестно, когда линия legacy прерывания перестаёт быть активной.

были ещё проблемы с резетом девайсов и зависоном. резет плохо работал.

больше ничего не помню((.

dimon555 ★★★★★
()

Вместе с видяхой пробрасываю usb-контроллер (не порт). KVM-свитчером переключаю клаву и мышь между портами проброшенного контроллера и хостового, ну и видео конечно тоже.

Lavos ★★★★★
()

pci звуковую карту, например.

kep
()
Ответ на: комментарий от Lavos

KVM-свитчером переключаю клаву и мышь между портами проброшенного контроллера и хостового

не проще ли использовать Synergy?

kep
()
Ответ на: комментарий от kep

Неа, оно глючное. Например, раскладка в семерочке по alt+shift не переключается. А еще адово глючит мышка в игорах. Не говоря о том, что функции игровой мышки вообще не доступны через synergy.
Ну и в любом случае надо как-то видео переключать, передергивать кабель не очень удобно, чего бы заодно и клаву с мышкой не свитчить KVM-ом...

Lavos ★★★★★
()
Ответ на: комментарий от kep

С играми бывают проблемы при использовании synergy.

Deleted
()
0e:00.0 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)
0e:00.1 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)

делил попалам и отдавал разным виртуалкам, один делал таргетом, второй инициатором. как ни странно - работало.

ukr_unix_user ★★★★
()
Последнее исправление: ukr_unix_user (всего исправлений: 1)
Ответ на: комментарий от ukr_unix_user

делил попалам и отдавал разным виртуалкам, один делал таргетом, второй инициатором. как ни странно - работало.

Это - физически одно устройство с двумя портами? Внутри одного сервера? Зачем? Для тестов? Никаких дополнительных действий не требовалось?

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от dimon555

для любого, что используют iommu

Я так и не понял: везде пишут, что проброс - это не проблема, только от хоста надо отключить устройство. Какие с QEMU были проблемы?

ktulhu666 ☆☆☆
() автор топика

Собственно, возник вопрос: кто-нибудь юзал что-нибудь, кроме видях, с VT-d/IOMMU? Что именно, зачем и как работало?

Если железо серверное, то пробросить можно что угодно, на десктопном железе мало iommu-групп, поэтому возможности проброса сильно ограничены.

King_Carlo ★★★★★
()
Ответ на: комментарий от ktulhu666

Да не, kvm в ведре, и iommu включил. На пробрасываемую карту ничего ставить не надо.

NeverLoved ★★★★★
()

встроенный usb-контроллер на 970 гигабайт пробрасывался. //для корректной работы юсб-звуковухи и прочей юсб-периферии
ещё пытался прокинуть вифи-сетевуху, но не подфартило - комп завис)

darkenshvein ★★★★★
()
Ответ на: комментарий от King_Carlo

на десктопном железе мало iommu-групп, поэтому возможности проброса сильно ограничены.

Не понял, в чём именно ограничения? В количестве устройств? Обычно больше четырёх не нужно (SATA/Ethernet/FC, video, sound, USB).

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ukr_unix_user

Можно вывод lspci -v -t ? Просто я не совсем понял: там два устройства с pci-e свитчем, или там можно даже функции одного устройства пробрасывать?

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

физически один адаптер, порта в нём два. lspci выше. пробрасывать можно хоть один порт, хоть оба. соединил одним шнурком чтоб свич файберовский не тарабанить, отдал в качестве луна память виртуалки которая выступала таргетом другой виртуалке. fio показал что скорость упирается в скорость адаптера. Fun получен, экспиримент окончен.

ukr_unix_user ★★★★
()
Ответ на: комментарий от ukr_unix_user

Согласно параграфу «Options for selection of devices » http://linux.die.net/man/8/lspci это - функции. Не знал, что их можно прокидывать отдельно от целевого устройства.
И да: то, что ты видишь перед собой физически одну карту, это совершенно не значит, что это действительно одна карта: pcie поддерживает использование активных свитчей (а также мостов в другие интерфейсы), поэтому (например в случае с двухголовыми видяхами) твоё устройство может быть двумя pci-e устройствами со свитчем, которые находятся на одной физической карте. Обычно это дело представлено тремя микросхемами (свитч и 2 устройства).
Но в случае с твоей fc-картой.

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

физически это была одна карта, а внутри пусть хоть змеем горынычем будет...

ukr_unix_user ★★★★
()
Ответ на: комментарий от ktulhu666

Я так и не понял: везде пишут, что проброс - это не проблема, только от хоста надо отключить устройство. Какие с QEMU были проблемы?

нет проблем, есть нюансы в использовании.

dimon555 ★★★★★
()
Ответ на: комментарий от King_Carlo

на десктопном железе мало iommu-групп,

если это из-за ACS то это можно подхачить и вроде даже теперь через параметр отключить.

dimon555 ★★★★★
()
Ответ на: комментарий от dimon555

если это из-за ACS то это можно подхачить и вроде даже теперь через параметр отключить.

Подробнее?

ktulhu666 ☆☆☆
() автор топика

Апологеты AIO(бррр!) успешно прокидывают физические hba в виртуалку с nas'ом.

Deleted
()
Ответ на: комментарий от ktulhu666

All In One. Когда на одной железке и NAS, и десктоп и роутер и домашний сервер и ещё 100500 сервисов, всё по своим виртуалкам. Обычно делают в ESX/ESXi. Поломанной, разумеется :)

Для NAS'а пробрасывают SAS-контроллер.

Deleted
()
Ответ на: комментарий от ktulhu666

и5 и мать на н61 игровой комп, лишние сущности в виде прослоек не нужны там, так что линукс живет как просто пускалка винды. А виртуализация нужна так как используются 5-6 типов систем, с разными настройками, дровами и прочим, и все это поверх основного образа через backing, средствами винды такое не соорудить

Novell-ch ★★★★★
()
Ответ на: комментарий от ktulhu666

На forum.ixbt.com, тред «NAS своими руками»

Deleted
()
16 июня 2016 г.
Ответ на: комментарий от NeverLoved

А как прокинуть эти порты? У меня из-за IOMMU на Linux не работают USB.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.