Не знаю, где как, но с 1.6.3-NAPI у сетевой карты Intel Corporation 82574L Gigabit Network Connection пропала одна очередь. Вот что в /proc/interrupts 35: <...> PCI-MSI-edge eth1-Q0 36: <...> PCI-MSI-edge eth1 # ethtool -i eth1 driver: e1000e version: 1.6.3-NAPI firmware-version: 2.1-0 bus-info: 0000:02:00.0 Если згрузить старый драйвер, то получается так: 35: <...> PCI-MSI-edge eth1-rx-0 36: <...> PCI-MSI-edge eth1-tx-0 37: <...> PCI-MSI-edge eth1 Это с # ethtool -i eth1 driver: e1000e version: 1.2.20-k2 firmware-version: 2.1-0 bus-info: 0000:02:00.0 Фича перехода на NAPI, или баг ?
Можно попробовать To Enable a Separate Vector for TX ---------------------------------- # make CFLAGS_EXTRA=-DCONFIG_E1000E_SEPARATE_TX_HANDLER This will allocate a separate handler for tx cleanups. This might be useful if you have a lot of CPU cores under heavy load and want to spread the processing load around. With this option, you would get three MSI-X vectors: one for TX, one for RX, and one for link. А еще есть новая версия. Можно на ней проверить.
(In reply to comment #1) > Можно попробовать > # make CFLAGS_EXTRA=-DCONFIG_E1000E_SEPARATE_TX_HANDLER Точно, помогло. Кстати, вопрос, что лучше... Добавить, или сделать дополнительный вариант kernel-modules-e1000e-separate-tx какой-нибудь...
Дополнительный-то зачем...
Зачем-то сделали параметр для включения. Может, не всегда оно хорошо ?
Я думаю что да, делать по умолчанию в некоторых случаях не очень хорошо, т.к. например у меня есть сервера где всего 4 ядра и нету смысла так множить векторы. И еще не известно почему эта возможность не включена по умолчанию. Поэтому вопрос о возможности иметь в репозитарии разные модули актуален. Например я давно хочу обновить pf_ring, и его имеет смысл реально использовать только в том случае, если используются специально патченные драйвера для сетевух. И если именно с e1000e для ovz-el просто т.к. этот модуль собран отдельно от ядра. (Спасибо aspsk@) то как быть с другими модулями и ядрами где все модули собираются с ядром не очень ясно. Имя модуля менять нельзя. Хотя когда-то vsu@ объяснял как можно этот вопрос решить путем переопределения дирректории локализации модуля. Т.о. достаточно просто установить дополнительный пакет с модулем и при установке будет изменяться расположение модуля и будет загружаться модуль из пакета, а не тот который идет с ядром.
В Сизиф поехало ядро ovz-el/042stab051.3, а вместе с ним модуль k-m-e1000e-ovz-el, собирающийся с -DCONFIG_E1000E_SEPARATE_TX_HANDLER. Этот параметр влияет только на карточки с поддержкой MSI-X. Если хочется использовать одну очередь, то существует возможность попросить карточку не работать в моде MSI-X. Для этого у модуля имеется параметр IntMode (имя которого означает Interrupt Mode). Если все же хочется использовать MSI-X + одна очередь, то придется собрать еще один модуль.
Раз нет возражений, закрываю