Перейти к содержимому
Калькуляторы

Ошибки на сетевом интерфейсе FreeBSD, intel 82571PT

Сервер Asus RS160-S5, два Xeon E5420 @ 2.50GHz, четырех портовая сетевая карта intel 82571PT и встроенные (2х канальный интегрированный в чипсет контроллер + интерфейс физического уровня Intel 82563EB 10/100/1000 Мбит/с и 2 сетевых контроллера Intel 82573)

lagg0 объединяет четыре порта 82571PT и один встроенной сетевой карты. На интерфейсы lagg0 попадает мониторинг с роутера, далее в netgraph и выводить с другого lagg-интерфейса(два порта). На входящих в lagg0 интерфейсах есть ошибки из-за cpu:

FreeBSD 7.2-RELEASE
# ifconfig em0
em0: flags=28943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,PPROMISC> metric 0 mtu 1500
    options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
    ether 00:15:17:7f:57:b0
    media: Ethernet autoselect (1000baseTX <full-duplex>)
    status: active
    lagg: laggdev lagg0
# netstat -w 1 -I em0
            input          (em0)           output
   packets  errs      bytes    packets  errs      bytes colls
    125071 34001   77377039          0     0          0     0
    127231 32662   78761625          0     0          0     0
    129571 29724   81239227          0     0          0     0
    125599 32527   78889850          0     0          0     0
#netstat -w 1 
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
    985841 110710  600567974     780195     0  313484948     0
    983657 120779  594569491     777140     0  306421389     0
    996726 115091  602176326     789737     0  312895661     0

last pid:  3584;  load averages:  4.31,  4.38,  4.37                                                                                 up 0+01:41:59  17:39:14
99 processes:  13 running, 72 sleeping, 14 waiting
CPU 0:  0.0% user,  0.0% nice,  100% system,  0.0% interrupt,  0.0% idle
CPU 1:  0.0% user,  0.0% nice,  100% system,  0.0% interrupt,  0.0% idle
CPU 2:  0.0% user,  0.0% nice,  3.5% system,  3.5% interrupt, 93.0% idle
CPU 3:  0.0% user,  0.0% nice, 54.4% system,  0.0% interrupt, 45.6% idle
CPU 4:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 5:  0.0% user,  0.0% nice,  100% system,  0.0% interrupt,  0.0% idle
CPU 6:  0.0% user,  0.0% nice,  8.8% system,  0.0% interrupt, 91.2% idle
CPU 7:  0.0% user,  0.0% nice, 75.4% system,  0.0% interrupt, 24.6% idle
Mem: 58M Active, 26M Inact, 109M Wired, 144K Cache, 28M Buf, 7731M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
   31 root        1 -68    -     0K    16K CPU5   5  99:24 100.00% em2 taskq
   29 root        1 -68    -     0K    16K CPU0   0  99:21 100.00% em0 taskq
   30 root        1 -68    -     0K    16K CPU1   1  98:57 100.00% em1 taskq
   14 root        1 171 ki31     0K    16K CPU4   4  91:29 100.00% idle: cpu4
   16 root        1 171 ki31     0K    16K CPU2   2  78:47 93.65% idle: cpu2
   12 root        1 171 ki31     0K    16K CPU6   6  94:44 91.06% idle: cpu6
   39 root        1 -68    -     0K    16K CPU7   7  66:57 71.04% em7 taskq
   32 root        1 -68    -     0K    16K -      3  62:11 64.79% em3 taskq
   15 root        1 171 ki31     0K    16K RUN    3  38:53 34.03% idle: cpu3
   11 root        1 171 ki31     0K    16K RUN    7  34:16 31.84% idle: cpu7
   38 root        1 -68    -     0K    16K -      6   6:23 10.21% em6 taskq
   34 root        1 -68    -     0K    16K -      2   8:07  7.76% em5 taskq
   19 root        1 -32    -     0K    16K WAIT   2   1:27  1.22% swi4: clock sio
   18 root        1 171 ki31     0K    16K RUN    0   7:38  0.00% idle: cpu0
   13 root        1 171 ki31     0K    16K RUN    5   6:27  0.00% idle: cpu5
   17 root        1 171 ki31     0K    16K RUN    1   5:12  0.00% idle: cpu1
   21 root        1 -44    -     0K    16K WAIT   4   3:51  0.00% swi1: net

не помогло: polling 1000MHz,2000MHz;-tso;драйвера с сайта intel 6.9.20;изменение dev.em.0.rx_*

 

есть ли софтовое решение данной проблемы или какую выбрать железку/сетевку

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

скачал самую свежею версию... при загрузки

emX: Could not setup receive structures

если подать трафик, то сервер теряет управление(((...откатился назад

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

уберите тюнинг hw.em с loader.conf

не hw.em, а не dev.em... все параметры по умолчанию. sysctl.conf пустой. Без нагрузки все работает, даже iperf получается прогнать 500mbps, как только трафик попадает на интерфейсы в promisc режиме, сервер теряет управление(по сети и с консоли). Если интерфейсы отключить физически, все приходит в норму.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

не hw.em, а не dev.em...
man em:

....
Tunables can be set at the loader(8) prompt before booting the kernel or
     stored in loader.conf(5).

     hw.em.rxd
             Number of receive descriptors allocated by the driver.  The
             default value is 256.  The 82542 and 82543-based adapters can
             handle up to 256 descriptors, while others can have up to 4096.

     hw.em.txd
             Number of transmit descriptors allocated by the driver.  The
             default value is 256.  The 82542 and 82543-based adapters can
             handle up to 256 descriptors, while others can have up to 4096.
....

Изменено пользователем Latik

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В чем смысл объединения в lagg ?

Что за структура netgraph?

Изменено пользователем Dm1try

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В чем смысл объединения в lagg ?

Что за структура netgraph?

в lagg, на выходе, для пакетной балансировки, на входе port-channel с роутера + удобно

netgraph: ng_bpf, ng_car по одной ноде

man em:
# sysctl hw.em

sysctl: unknown oid 'hw.em'

# sysctl dev.em

dev.em.0.%desc: Intel® PRO/1000 Network Connection 6.9.6

...

ошибка в man-не, скорее hw было раньше

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В чем смысл объединения в lagg ?

Что за структура netgraph?

в lagg, на выходе, для пакетной балансировки, на входе port-channel с роутера + удобно

netgraph: ng_bpf, ng_car по одной ноде

man em:
# sysctl hw.em

sysctl: unknown oid 'hw.em'

# sysctl dev.em

dev.em.0.%desc: Intel® PRO/1000 Network Connection 6.9.6

...

ошибка в man-не, скорее hw было раньше

hw.em работает только с loader.conf

в sysctl этих параметров нет

 

уберите из lagg0 интегрированные интерфейсы.

Изменено пользователем adeep

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

убрал из lagg0 интегрированный интерфейс... все равно, не более 0.5Mpps

с rx_processing_limit=5000,rx_int_delay=250,rx_abs_int_delay=250, hw.em.rxd=1024 0.6Mpps

 

перенес на C2D E6850, пропустил 0.65Mpps без потерь, а больше не влазит в три интерфейса((

как я понял, чем больше частота тем лучше, а количество ядер не так важно... буду искать c2d/i7 платформу, куда можно воткнуть две 82571PT

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

FreeBSD 7.2-RELEASE

Можно попробовать обновится до 7-STABLE, там netgraph разнесен на каждый процессор по потоку.

Хотя, тут на swi1:net нет нагрузки, но все же.

Нагрузку на swi1 можно попробовать перенести включением net.isr.direct=1 или net.inet.ip.fastforwarding=1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

FreeBSD 7.2-RELEASE

Можно попробовать обновится до 7-STABLE, там netgraph разнесен на каждый процессор по потоку.

Хотя, тут на swi1:net нет нагрузки, но все же.

Нагрузку на swi1 можно попробовать перенести включением net.isr.direct=1 или net.inet.ip.fastforwarding=1

не верно, софт-интерапты включаются через net.isr.direct=0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

FreeBSD 7.2-RELEASE

Можно попробовать обновится до 7-STABLE, там netgraph разнесен на каждый процессор по потоку.

Хотя, тут на swi1:net нет нагрузки, но все же.

Нагрузку на swi1 можно попробовать перенести включением net.isr.direct=1 или net.inet.ip.fastforwarding=1

не верно, софт-интерапты включаются через net.isr.direct=0

+1

угу, читаем src/sys/net/netisr.c: функция netisr_dispatch

Изменено пользователем migosm

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.