Jump to content
Калькуляторы

Ошибки на сетевом интерфейсе 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_*

 

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

Share this post


Link to post
Share on other sites
скачал самую свежею версию... при загрузки

emX: Could not setup receive structures

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

 

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
не 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.
....

Edited by Latik

Share this post


Link to post
Share on other sites

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

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

Edited by Dm1try

Share this post


Link to post
Share on other sites
В чем смысл объединения в 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 было раньше

Share this post


Link to post
Share on other sites
В чем смысл объединения в 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 интегрированные интерфейсы.

Edited by adeep

Share this post


Link to post
Share on other sites

убрал из 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

 

Share this post


Link to post
Share on other sites
FreeBSD 7.2-RELEASE

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

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

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

Share this post


Link to post
Share on other sites
FreeBSD 7.2-RELEASE

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

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

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

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

Share this post


Link to post
Share on other sites
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

Edited by migosm

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this