Виртуализация ввода-вывода

SR-IOV: привязка виртуальной функции к драйверу

Определение

Привязка виртуальной функции к драйверу — сопоставление включённой VF с драйвером ядра, без которого она остаётся неработающим PCI-устройством. В Linux этим управляют три разных средства: sriov_drivers_autoprobe у физической функции, driver_override у самого устройства и запись адреса в файл bind.

Также ищут: sriov_drivers_autoprobe · driver_override для VF

Зачем это знать

В плане подготовки VF важно различать настройку будущего включения, правило выбора драйвера и запрос привязки. Записанное имя не означает загруженный драйвер, а изменение autoprobe не меняет уже включённые функции.

Связи из словаря

Карта понятия

Доказательная часть

Что подтверждено

  1. sriov_drivers_autoprobe относится к PF с SR-IOV. Начальное значение 1 означает автоматическую привязку вновь включённых VF к совместимому драйверу.

    Граница применимости: Linux v6.12; при поддержке оборудованием и драйвером. HOWTO § SR-IOV API, строки 90–96; ABI What: …/sriov_drivers_autoprobe, строки 364–374.

  2. Ноль в sriov_drivers_autoprobe, записанный до включения VF, отключает автоматическую привязку этих VF к драйверу.

    Граница применимости: Linux v6.12; при поддержке оборудованием и драйвером. HOWTO § SR-IOV API, строки 98–104; ABI What: …/sriov_drivers_autoprobe, строки 368–374. Настройка не является запретом последующей явной привязки.

  3. Изменение sriov_drivers_autoprobe не влияет на уже включённые VF. Для описанного сценария ABI требует отключить VF, изменить настройку и включить VF заново.

    Граница применимости: Linux v6.12; при поддержке оборудованием и драйвером. ABI What: …/sriov_drivers_autoprobe, строки 376–384. HOWTO отдельно говорит об уже обнаруженных драйвером VF; точная формулировка об уже включённых VF взята из ABI.

  4. driver_override заменяет обычное сопоставление статических и динамических ID: возможность привязки получает драйвер с совпадающим именем. Допускается одно имя без списка через разделители.

    Граница применимости: Linux v6.12; при поддержке оборудованием и драйвером. ABI What: …/driver_override, строки 323–342.

  5. Пустая строка в driver_override снимает переопределение и возвращает стандартные правила сопоставления устройства и драйвера.

    Граница применимости: Linux v6.12; при поддержке оборудованием и драйвером. ABI What: …/driver_override, строки 331–334.

  6. Запись driver_override не отвязывает устройство от текущего драйвера и не загружает указанный драйвер автоматически; при отсутствии загруженного драйвера с подходящим именем привязка не произойдёт.

    Граница применимости: Linux v6.12; при поддержке оборудованием и драйвером. ABI What: …/driver_override, строки 335–342.

  7. Запись адреса PCI-устройства в bind вызывает попытку привязки соответствующего драйвера к устройству. Адрес имеет формат DDDD:BB:DD.F — домен, шина, устройство и функция.

    Граница применимости: Linux v6.12; при поддержке оборудованием и драйвером. ABI What: …/bind, строки 1–15. Сохранено слово attempt: описание запроса не подтверждает успешную работу устройства.

Граница терминов

Не путать

SR-IOV: привязка виртуальной функции к драйверу SR-IOV: предел и включение виртуальных функций

Включение VF задаёт состав виртуальных устройств. Для их работы нужен драйвер; sriov_drivers_autoprobe управляет автоматической привязкой вновь включаемых VF. Количество функций и поведение привязки проверяются отдельно.

Перед спецификацией

Что проверить

  1. Укажите PF, к вновь включаемым VF которой относится autoprobe.
  2. Разделите действующие VF и функции следующего включения.
  3. Проверьте порядок настройки autoprobe и включения VF.
  4. Сверьте точное имя в driver_override.
  5. Отдельно зафиксируйте загрузку драйвера, текущую привязку и результат bind.
  6. Согласуйте работу с используемыми VF до их отключения.
Открытые основания

Первоисточники

  • Документация2
  • Официальная документация
    PCI Express I/O Virtualization Howto The Linux Kernel developers · Linux v6.12, тег от 17.11.2024; последний коммит файла 4f23bd5d09af, committer 2022-07-11 · проверено

    Полный RST: 171 строк. Скачан редактором и прочитан автором 11.09.2026. SHA-256 62669b332bd99190649597ecce75d7a50a75afdb32f352a3546d9195221475ee. Авторская дата последнего коммита 2022-06-07; дата тегирования задаёт редакцию. Страниц в оригинале нет.

    Утверждения: 01 · 02

  • Официальная документация
    Linux PCI sysfs ABI — sysfs-bus-pci The Linux Kernel developers · Linux v6.12, тег от 17.11.2024; последний коммит файла 759ec2824289, committer 2024-09-06 · проверено

    Полный ABI-текст: 574 строк. Скачан редактором и прочитан автором 11.09.2026. SHA-256 13a73b125e800a57c2ed352f49a85e03a6dfb41eb33d3d498beb9297b92e28d1. Авторская дата последнего коммита 2024-09-04; дата тегирования задаёт редакцию. Страниц в оригинале нет.

    Утверждения: 01 · 02 · 03 · 04 · 05 · 06 · 07

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

Подтвердите действие