|
Не работает драйвер сетевого устройства |
|
|
|
 |
Ответов
|
Jun 14 2018, 10:51
|
Участник

Группа: Участник
Сообщений: 68
Регистрация: 3-06-15
Пользователь №: 86 995

|
Цитата(k000858 @ Jun 14 2018, 04:51)  В общем драйвер успешно интегрирован, Lan'ы работают, Wan работает, трафик по мосту бежит. Однако вылезла новая проблема: при тесте пропускной способности портов (трафик Wan -> Lan для использования NAT'а) драйвер нагружает систему до 99%, при этом скорость всего ~300Mbt/s (порты гигабитные). При этом родной драйвер openWRT выжимает гигабит, нагрузка на проц ~80% (хардварный нат не активирован). С чем может быть связан такой эффект? почему вы думаете драйвер нагружает а не сокет например?
|
|
|
|
|
Jun 14 2018, 11:17
|

Местный
  
Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978

|
Цитата(winniethepooh @ Jun 14 2018, 14:51)  почему вы думаете драйвер нагружает а не сокет например? Цитата(k000858 @ Jun 14 2018, 07:51)  При этом родной драйвер openWRT выжимает гигабит, нагрузка на проц ~80% (хардварный нат не активирован) тест проводится 1 в 1 с родным драйвером openwrt и мной интегрированным
|
|
|
|
|
Jun 14 2018, 13:26
|
Участник

Группа: Участник
Сообщений: 68
Регистрация: 3-06-15
Пользователь №: 86 995

|
Цитата(k000858 @ Jun 14 2018, 12:17)  тест проводится 1 в 1 с родным драйвером openwrt и мной интегрированным ничего не знаю про тест openwrt, но сомневаюсь что он может показать в каком слое стека застревают пакеты.
|
|
|
|
|
Jun 15 2018, 03:27
|

Местный
  
Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978

|
Цитата(winniethepooh @ Jun 14 2018, 16:26)  ничего не знаю про тест openwrt, но сомневаюсь что он может показать в каком слое стека застревают пакеты. самый банальный тест пропускной способности с помощью iperf (v3.13), трафик из Lan'а в Wan (хардварного NAT'а нет). При этом родной драйвер пропускает ~ гигабит, но загружает ЦПУ на 80%, мой драйвер пропускает лишь ~300Мбит/с, упираясь в 100% загрузку ЦПУ. очевидно что он выдал бы гигабит, если б хватило производительность ЦПУ. Думаю сокет тут непричем, сам драйвер менее производительный. Возможно какая то его настройка (считай - дефайн или ключ компиляции) так влияет. Повторюсь, драйвер работает по можели napi. Может есть мысли на что может тратиться процессорное время?
|
|
|
|
|
Jul 1 2018, 11:19
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458

|
Цитата(k000858 @ Jun 15 2018, 06:27)  Повторюсь, драйвер работает по можели napi. Может есть мысли на что может тратиться процессорное время? В модели NAPI есть такой важный параметр как счётчик числа сетевых пакетов, при приёме меньше которого драйвер возвращается из режима программного пулинга и переходимт в режим ожидания прерываний. Поиграйтесь с этим параметром. P.S. Может подскажет какую мелочь, из об ласти сетевых драйверов или модулей фильтров сетевых протоколов вот этот текст: Практикум по Linux Kernel. Ну и Сетевое программирование в Linux - здесь о стыке сокетных буферов в ядре с сокетами простанства пользователя.
|
|
|
|
|
Jul 2 2018, 03:11
|

Местный
  
Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978

|
Цитата(Olej @ Jul 1 2018, 14:19)  В модели NAPI есть такой важный параметр как счётчик числа сетевых пакетов, при приёме меньше которого драйвер возвращается из режима программного пулинга и переходимт в режим ожидания прерываний. Поиграйтесь с этим параметром. P.S. Может подскажет какую мелочь, из об ласти сетевых драйверов или модулей фильтров сетевых протоколов вот этот текст: Практикум по Linux Kernel. Ну и Сетевое программирование в Linux - здесь о стыке сокетных буферов в ядре с сокетами простанства пользователя. благодарю за пинок в возможно верном направлении
|
|
|
|
Сообщений в этой теме
k000858 Не работает драйвер сетевого устройства May 18 2018, 11:32 winniethepooh Цитата(k000858 @ May 18 2018, 12:32) Порт... May 18 2018, 13:45 k000858 Цитата(winniethepooh @ May 18 2018, 16:45... May 21 2018, 04:09  winniethepooh Цитата(k000858 @ May 21 2018, 05:09) Вы в... May 21 2018, 07:02   k000858 Цитата(winniethepooh @ May 21 2018, 10:02... May 21 2018, 07:40    winniethepooh Цитата(k000858 @ May 21 2018, 08:40) что ... May 21 2018, 08:07     k000858 Цитата(winniethepooh @ May 21 2018, 11:07... May 21 2018, 08:54      samike Цитата(k000858 @ May 21 2018, 11:54) - в ... May 22 2018, 06:16       winniethepooh Цитатаcat /proc/interrupts ?
да оно May 22 2018, 07:09       k000858 Цитата(samike @ May 22 2018, 10:16) А как... May 22 2018, 08:01        samike Цитата(k000858 @ May 22 2018, 11:01) Врод... May 22 2018, 08:16         k000858 Цитата(samike @ May 22 2018, 12:16) Тогда... May 22 2018, 09:22          samike Цитата(k000858 @ May 22 2018, 12:22) Даль... May 22 2018, 10:57           k000858 Цитата(samike @ May 22 2018, 14:57) А как... May 23 2018, 10:22            winniethepooh Цитата(k000858 @ May 23 2018, 11:22) да, ... May 23 2018, 12:53 k000858 В моем случае вместо netif_rx выполняется netif_re... May 24 2018, 05:47 winniethepooh Цитата(k000858 @ May 24 2018, 06:47) В мо... May 24 2018, 07:34  k000858 Цитата(winniethepooh @ May 24 2018, 11:34... May 24 2018, 08:04   winniethepooh Цитата(k000858 @ May 24 2018, 09:04) попр... May 24 2018, 08:44 k000858 распарсив sk_buff полученного пакета и сравнив его... May 28 2018, 05:14 winniethepooh Цитата(k000858 @ May 28 2018, 06:14) расп... May 28 2018, 07:19 k000858 Больше волнует вопрос: при получении пакета, долже... May 28 2018, 09:41 winniethepooh Цитата(k000858 @ May 28 2018, 10:41) Боль... May 28 2018, 11:19 k000858 По делу есть кое какие продвижения: счетчик Rx уже... May 31 2018, 04:43 k000858 В общем победил настройки встроенного в SoC свитча... Jun 7 2018, 08:09 winniethepooh Цитата(k000858 @ Jun 7 2018, 09:09) В общ... Jun 7 2018, 08:50     winniethepooh Цитата(k000858 @ Jun 15 2018, 04:27) самы... Jun 15 2018, 07:17 k000858 Как в драйвере задать битовую маску CPU, которая п... Jun 21 2018, 10:09
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|