реклама на сайте
подробности

 
 
> Не работает драйвер сетевого устройства
k000858
сообщение May 18 2018, 11:32
Сообщение #1


Местный
***

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



Портирую драйвер сетевого устройства (в общем ethernet драйвер) в OpenWRT. Драйвер успешно создает сетевой интерфейс и тд ондако ничего не работает. Не тикают даже счетчики в статистике. Сам драйвер выдран из SDK с 3.10.* ядром, в OpenWRT 4.4.14 ядро
Пока удалось выяснить что по каким то причинам не производится полинг интерфейса.

Сам интерфейс создается с помощью netif_napi_add, в аргументах которой указывается полинг функция. (которая, как выяснилось почему то не вызывается)

Кто сталкивался с подобным эффектом, или может у кого есть идейки куда капнУть?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
k000858
сообщение Jun 14 2018, 03:51
Сообщение #2


Местный
***

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



В общем драйвер успешно интегрирован, Lan'ы работают, Wan работает, трафик по мосту бежит.
Однако вылезла новая проблема: при тесте пропускной способности портов (трафик Wan -> Lan для использования NAT'а) драйвер нагружает систему до 99%, при этом скорость всего ~300Mbt/s (порты гигабитные). При этом родной драйвер openWRT выжимает гигабит, нагрузка на проц ~80% (хардварный нат не активирован). С чем может быть связан такой эффект?
Go to the top of the page
 
+Quote Post
winniethepooh
сообщение Jun 14 2018, 10:51
Сообщение #3


Участник
*

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



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


почему вы думаете драйвер нагружает а не сокет например?
Go to the top of the page
 
+Quote Post
k000858
сообщение Jun 14 2018, 11:17
Сообщение #4


Местный
***

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



Цитата(winniethepooh @ Jun 14 2018, 14:51) *
почему вы думаете драйвер нагружает а не сокет например?


Цитата(k000858 @ Jun 14 2018, 07:51) *
При этом родной драйвер openWRT выжимает гигабит, нагрузка на проц ~80% (хардварный нат не активирован)


тест проводится 1 в 1 с родным драйвером openwrt и мной интегрированным
Go to the top of the page
 
+Quote Post
winniethepooh
сообщение Jun 14 2018, 13:26
Сообщение #5


Участник
*

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



Цитата(k000858 @ Jun 14 2018, 12:17) *
тест проводится 1 в 1 с родным драйвером openwrt и мной интегрированным


ничего не знаю про тест openwrt, но сомневаюсь что он может показать в каком слое стека застревают пакеты.
Go to the top of the page
 
+Quote Post
k000858
сообщение Jun 15 2018, 03:27
Сообщение #6


Местный
***

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



Цитата(winniethepooh @ Jun 14 2018, 16:26) *
ничего не знаю про тест openwrt, но сомневаюсь что он может показать в каком слое стека застревают пакеты.

самый банальный тест пропускной способности с помощью iperf (v3.13), трафик из Lan'а в Wan (хардварного NAT'а нет).
При этом родной драйвер пропускает ~ гигабит, но загружает ЦПУ на 80%, мой драйвер пропускает лишь ~300Мбит/с, упираясь в 100% загрузку ЦПУ. очевидно что он выдал бы гигабит, если б хватило производительность ЦПУ.
Думаю сокет тут непричем, сам драйвер менее производительный. Возможно какая то его настройка (считай - дефайн или ключ компиляции) так влияет.

Повторюсь, драйвер работает по можели napi. Может есть мысли на что может тратиться процессорное время?
Go to the top of the page
 
+Quote Post
Olej
сообщение Jul 1 2018, 11:19
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458



Цитата(k000858 @ Jun 15 2018, 06:27) *
Повторюсь, драйвер работает по можели napi. Может есть мысли на что может тратиться процессорное время?

В модели NAPI есть такой важный параметр как счётчик числа сетевых пакетов, при приёме меньше которого драйвер возвращается из режима программного пулинга и переходимт в режим ожидания прерываний. Поиграйтесь с этим параметром.

P.S. Может подскажет какую мелочь, из об ласти сетевых драйверов или модулей фильтров сетевых протоколов вот этот текст: Практикум по Linux Kernel.
Ну и Сетевое программирование в Linux - здесь о стыке сокетных буферов в ядре с сокетами простанства пользователя.
Go to the top of the page
 
+Quote Post
k000858
сообщение Jul 2 2018, 03:11
Сообщение #8


Местный
***

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



Цитата(Olej @ Jul 1 2018, 14:19) *
В модели NAPI есть такой важный параметр как счётчик числа сетевых пакетов, при приёме меньше которого драйвер возвращается из режима программного пулинга и переходимт в режим ожидания прерываний. Поиграйтесь с этим параметром.

P.S. Может подскажет какую мелочь, из об ласти сетевых драйверов или модулей фильтров сетевых протоколов вот этот текст: Практикум по Linux Kernel.
Ну и Сетевое программирование в Linux - здесь о стыке сокетных буферов в ядре с сокетами простанства пользователя.

благодарю за пинок в возможно верном направлении smile3046.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 02:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01467 секунд с 7
ELECTRONIX ©2004-2016