Параметр nr_virtfn при включении SR-IOV считает виртуальные функции. sriov_vf_total_msix считает общий пул векторов прерываний для VF одной PF. Число устройств и ресурс прерываний имеют разные единицы учёта.
Почему это важно
При подготовке нескольких VF важно вести назначения отдельно от общего значения. Ноль в разных атрибутах имеет разный смысл, а доступность записи зависит от драйвера физической функции.
Что подтверждено
sriov_vf_total_msix относится к PF и содержит общее число векторов MSI-X, доступных для назначения всем связанным с ней VF.
Граница применимости: Linux v6.12; при поддержке оборудованием и драйвером. ABI What: …/sriov_vf_total_msix, строки 442–451.
У поддерживающего эту возможность устройства sriov_vf_total_msix остаётся постоянным после назначения векторов MSI-X.
Граница применимости: Linux v6.12; при поддержке оборудованием и драйвером. ABI What: …/sriov_vf_total_msix, строки 446–451. Атрибут не описан как уменьшающийся счётчик свободного остатка.
Если устройство не поддерживает эту возможность распределения векторов MSI-X, sriov_vf_total_msix равен нулю.
Граница применимости: Linux v6.12; случай отсутствия у устройства поддержки этой возможности. ABI What: …/sriov_vf_total_msix, строки 449–451. Задано направление «нет поддержки → ноль»; обратная импликация не установлена. Вывод не переносится на отсутствие любых прерываний у устройства.
sriov_vf_msix_count относится к отдельной VF. Положительное записанное число сообщается как Table Size в её возможности MSI-X.
Граница применимости: Linux v6.12; при поддержке оборудованием и драйвером. ABI What: …/sriov_vf_msix_count, строки 453–464. Это настройка таблицы, а не измерение использования прерываний приложением.
Запись нуля в sriov_vf_msix_count восстанавливает значение по умолчанию для устройства.
Граница применимости: Linux v6.12; при поддержке оборудованием и драйвером. ABI What: …/sriov_vf_msix_count, строки 462–466.
Отрицательные значения sriov_vf_msix_count недопустимы.
Граница применимости: Linux v6.12; при поддержке оборудованием и драйвером. ABI What: …/sriov_vf_msix_count, строки 462–466.
sriov_vf_msix_count доступен для записи, если PF привязана к драйверу, который реализует sriov_set_msix_vec_count().
Граница применимости: Linux v6.12; при поддержке оборудованием и драйвером. ABI What: …/sriov_vf_msix_count, строки 468–469. Условие относится к драйверу PF при настройке её VF.
Имена файлов в msi_irqs соответствуют выделенным устройству векторам прерываний. Значение файла показывает режим этого вектора — msi или msix.
Граница применимости: Linux v6.12; при поддержке оборудованием и драйвером. ABI What: …/msi_irqs, строки 88–94; ABI What: …/msi_irqs/N, строки 96–101.
Не путать
Что проверить
- Свяжите значение общего пула с точной PF.
- Сохраните назначения VF отдельно от постоянного общего значения.
- Различайте ноль общего пула и команду восстановления настройки VF.
- Проверьте поддержку операции драйвером PF.
- Отделите Table Size от выделенных векторов в msi_irqs.
- Для вывода о работе приложения получите отдельные результаты нагрузки.
Первоисточники
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; дата тегирования задаёт редакцию. Страниц в оригинале нет.
Открыть первоисточник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; дата тегирования задаёт редакцию. Страниц в оригинале нет.
Открыть первоисточник