XPS Linux: выбор очереди передачи не является балансировкой между сетевыми портами
Фотография конкретного исполнения не приложена.
XPS управляет выбором transmit queue внутри multi-queue устройства. Его цель связана со стоимостью обработки и конкуренцией за очередь. Это другой уровень, чем bonding или выбор маршрута к удалённому адресу.
Документация описывает mapping CPU к TX queues и вариант mapping RX queues к TX queues. Второй полезен для определённых многопоточных моделей, где приложение обрабатывает конкретную receive queue и может перемещаться между CPU. Подходящий вариант зависит от реальной организации потребителя.
Уменьшение числа CPU, конкурирующих за один queue lock, способно снизить contention. Важна и locality transmit completions. Однако bitmap сам по себе не добавляет пропускную способность физическому link и не гарантирует снижение задержки без проверки полного пути. Множество TX queues не означает, что один поток нужно произвольно разбрасывать по ним.
В приёмке фиксируют карты, нагрузку и фактические completions. Сравнивают contention, CPU и прикладной срок операции при неизменном профиле трафика. Итоговое решение должно объяснять, какую именно стоимость устраняет mapping. Хороший результат настройки XPS не подтверждает резервирование портов или исправность удалённого приложения.
Основание — Official versioned Linux network documentation displaying6.18.0, networking/bonding, scaling and bridge, разделы XPS: Transmit Packet Steering; CPU and RX queue maps. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Основание — официальная версия документации Linux с заголовком 6.18.0. Это фиксированная редакция, а не утверждение об установленном или последнем ядре. Реальные NIC, драйвер, switch и параметры хоста не проверялись; настройки и сетевые испытания не выполнялись.