RSS распределяет входящие потоки по аппаратным RX-очередям сетевой карты с помощью хеша заголовков и таблицы перенаправления. IRQ affinity связывает обработку очередей с ядрами CPU.
Как устроен механизм распределения сетевых прерываний между ядрами процессора (RSS, Receive Side Scaling) в Linux?
RSS распределяет входящие потоки по аппаратным RX-очередям сетевой карты с помощью хеша заголовков и таблицы перенаправления. IRQ affinity связывает обработку очередей с ядрами CPU.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
RSS распределяет входящие потоки по аппаратным RX-очередям сетевой карты с помощью хеша заголовков и таблицы перенаправления. IRQ affinity связывает обработку очередей с ядрами CPU.
Обычно хеш учитывает IP-адреса и порты, поэтому пакеты одного потока попадают в одну очередь. Очереди используют отдельные прерывания; irqbalance может менять их привязку. Проверяют ethtool, /proc/interrupts, softirq-нагрузку и NUMA-локальность. RSS отличается от RPS: второй механизм программно распределяет дальнейшую обработку в сетевом стеке.
Источник: docs.kernel.org.