IvanI Опубликовано 16 февраля, 2009 (изменено) · Жалоба Конфигурация роутера: FreeBSD 7.1-RELEASE #0: Mon Jan 26 20:41:51 MSK 2009 ivan@gw1.aaa.ru:/usr/src/sys/i386/compile/gw1 Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel(R) Core(TM)2 Quad CPU Q9650 @ 3.00GHz (2992.15-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x1067a Stepping = 10 Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFL USH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> Features2=0x408e3fd<SSE3,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,<b26>> AMD Features=0x20100000<NX,LM> AMD Features2=0x1<LAHF> Cores per package: 4 real memory = 2147221504 (2047 MB) avail memory = 2093600768 (1996 MB) в конфиге ядра options KVA_PAGES=512 options IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL options DUMMYNET options DEVICE_POLLING options IPDIVERT # (NATD) в /boot/loader.conf kern.maxusers="128" vm.kmem_size_scale="2" vm.kmem_size_max="1073741824" 2 сетевухи на борту и 1 в PCI-e EM0 - EXPI9400PTBLK - Intel® (PCI-e 82572GI) EM1 - 82566DM - LAN2 EM2 - PC82573V - LAN1 em0: <Intel(R) PRO/1000 Network Connection 6.9.6> port 0xcc00-0xcc1f mem 0xfe9e0000-0xfe9fffff,0xfe9c0000-0xfe9dffff irq 16 at device 0.0 on pci1 em0: Using MSI interrupt em0: [FILTER] em0: Ethernet address: 00:15:17:97:13:4b em1: <Intel(R) PRO/1000 Network Connection 6.9.6> port 0xbc00-0xbc1f mem 0xfe8e0000-0xfe8fffff,0xfe8df000-0xfe8dffff irq 20 at device 25.0 on pci0 em1: Using MSI interrupt em1: [FILTER] em1: Ethernet address: 00:21:85:57:07:b2 em2: <Intel(R) PRO/1000 Network Connection 6.9.6> port 0xdc00-0xdc1f mem 0xfeae0000-0xfeafffff irq 16 at device 0.0 on pci3 em2: Using MSI interrupt em2: [FILTER] em2: Ethernet address: 00:21:85:57:07:b3 dev.em.0.%desc: Intel(R) PRO/1000 Network Connection 6.9.6 dev.em.0.%driver: em dev.em.0.%location: slot=0 function=0 dev.em.0.%pnpinfo: vendor=0x8086 device=0x107d subvendor=0x8086 subdevice=0x1082 class=0x020000 dev.em.0.%parent: pci1 dev.em.0.debug: -1 dev.em.0.stats: -1 dev.em.0.rx_int_delay: 250 dev.em.0.tx_int_delay: 250 dev.em.0.rx_abs_int_delay: 250 dev.em.0.tx_abs_int_delay: 250 dev.em.0.rx_processing_limit: 4000 dev.em.1.%desc: Intel(R) PRO/1000 Network Connection 6.9.6 dev.em.1.%driver: em dev.em.1.%location: slot=25 function=0 handle=\_SB_.PCI0.GBE_ dev.em.1.%pnpinfo: vendor=0x8086 device=0x10bd subvendor=0x1462 subdevice=0x6560 class=0x020000 dev.em.1.%parent: pci0 dev.em.1.debug: -1 dev.em.1.stats: -1 dev.em.1.rx_int_delay: 250 dev.em.1.tx_int_delay: 250 dev.em.1.rx_abs_int_delay: 250 dev.em.1.tx_abs_int_delay: 250 dev.em.1.rx_processing_limit: 4000 dev.em.1.wake: 0 dev.em.2.%desc: Intel(R) PRO/1000 Network Connection 6.9.6 dev.em.2.%driver: em dev.em.2.%location: slot=0 function=0 dev.em.2.%pnpinfo: vendor=0x8086 device=0x108b subvendor=0x1462 subdevice=0x6560 class=0x020000 dev.em.2.%parent: pci3 dev.em.2.debug: -1 dev.em.2.stats: -1 dev.em.2.rx_int_delay: 250 dev.em.2.tx_int_delay: 250 dev.em.2.rx_abs_int_delay: 250 dev.em.2.tx_abs_int_delay: 250 dev.em.2.rx_processing_limit: 4000 тест - UDP поток пакетами по 542 байта с 2х серверов на 1 сетевуху , роутинг обратно через этотже адаптер (далее поток дропается на порту фильтром свича) В процессе тестов возникло несколько непоняток: Максимальный входной поток удалось получить со свича DGS-3100-24TG всего 905Мбит - свич больше неможет? или карта невидит(счетчики на свиче невменяемые)? input (em1) output packets errs bytes packets errs bytes colls 218283 0 118274670 217780 0 118024294 0 218558 0 118428003 217699 0 118019416 0 218794 0 118556962 217727 0 118005866 0 218956 0 118444819 217781 0 118024294 0 Поток 905Мбит удалось обработать без "input errs" только через EM1 (82566DM)???!, EM0 и EM2 при потоке более 805Мбит появляются "input errs" и при дальнейшем увеличении потока "input errs" догоняются до 12-14Кп/с с карты. input (em0) output packets errs bytes packets errs bytes colls 204698 13945 110895328 204597 0 110887124 0 204554 14038 110820770 204429 0 110813750 0 204626 13369 110866646 204514 0 110855112 0 Из тюнинга пробовал: /boot/loader.conf hw.em.rxd=4096 hw.em.txd=4096 hw.em.rxd=2048 hw.em.txd=2048 - пользы никакой, при 4096 нельзя стартовать (up) EM2 - вся сетевая часть дохнет, ошибку не запомнил. sysctl dev.em.0.rx_int_delay=250 sysctl dev.em.х.tx_int_delay=250 sysctl dev.em.х.rx_abs_int_delay=250 sysctl dev.em.х.tx_abs_int_delay=250 sysctl dev.em.х.rx_processing_limit=4000 Снижает прерывания в 3 раза(с 8000 до 2600). Подсажите пожалуста, кто знает, куда копать с сетевухами, и с тестированием, Полинг использовать очень нехочется, рекомендации по тюнингу потом выложу в начало этого поста. есть мысль HZ=2000 или выдернуть PCI-e сетевуху Выводы и тюнинг http://forum.nag.ru/forum/index.php?showto...st&p=379843 Изменено 23 февраля, 2009 пользователем IvanI Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Vinc Опубликовано 16 февраля, 2009 (изменено) · Жалоба Поток 905Мбит удалось обработать без "input errs" только через EM1 (82566DM)???!, EM0 и EM2 при потоке более 805Мбит появляются "input errs" - ты netstat приводишь через тестируемый интерфейс (netstat -I emX -w1) ? - приведи stats и debug твоих карт ДО* появления input errs: погоняй поток 100kpps и пару раз сними stats и debug. - приведи stats и debug твоих карт после появления input errs Изменено 19 февраля, 2009 пользователем Vinc Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 16 февраля, 2009 · Жалоба 1 - да 2 - на текущий момент, пока ребутить нехочется em0: Excessive collisions = 0 em0: Sequence errors = 0 em0: Defer count = 0 em0: Missed Packets = 8846841 em0: Receive No Buffers = 10294808 em0: Receive Length Errors = 0 em0: Receive errors = 0 em0: Crc errors = 0 em0: Alignment errors = 0 em0: Collision/Carrier extension errors = 0 em0: RX overruns = 1205254 em0: watchdog timeouts = 0 em0: RX MSIX IRQ = 0 TX MSIX IRQ = 0 LINK MSIX IRQ = 0 em0: XON Rcvd = 0 em0: XON Xmtd = 0 em0: XOFF Rcvd = 0 em0: XOFF Xmtd = 0 em0: Good Packets Rcvd = 419393210 em0: Good Packets Xmtd = 350540261 em0: TSO Contexts Xmtd = 62 em0: TSO Contexts Failed = 0 em1: Excessive collisions = 0 em1: Sequence errors = 0 em1: Defer count = 0 em1: Missed Packets = 161734 em1: Receive No Buffers = 1775183 em1: Receive Length Errors = 0 em1: Receive errors = 0 em1: Crc errors = 0 em1: Alignment errors = 0 em1: Collision/Carrier extension errors = 0 em1: RX overruns = 34156 em1: watchdog timeouts = 0 em1: RX MSIX IRQ = 0 TX MSIX IRQ = 0 LINK MSIX IRQ = 0 em1: XON Rcvd = 0 em1: XON Xmtd = 0 em1: XOFF Rcvd = 0 em1: XOFF Xmtd = 0 em1: Good Packets Rcvd = 1149517962 em1: Good Packets Xmtd = 1137614392 em1: TSO Contexts Xmtd = 0 em1: TSO Contexts Failed = 0 em2: Excessive collisions = 0 em2: Sequence errors = 0 em2: Defer count = 0 em2: Missed Packets = 5161618 em2: Receive No Buffers = 15014326 em2: Receive Length Errors = 0 em2: Receive errors = 0 em2: Crc errors = 0 em2: Alignment errors = 0 em2: Collision/Carrier extension errors = 0 em2: RX overruns = 282651 em2: watchdog timeouts = 0 em2: RX MSIX IRQ = 0 TX MSIX IRQ = 0 LINK MSIX IRQ = 0 em2: XON Rcvd = 0 em2: XON Xmtd = 0 em2: XOFF Rcvd = 0 em2: XOFF Xmtd = 0 em2: Good Packets Rcvd = 177656654 em2: Good Packets Xmtd = 169246043 em2: TSO Contexts Xmtd = 0 em2: TSO Contexts Failed = 0 em0: Adapter hardware address = 0x84096218 em0: CTRL = 0x480c0241 RCTL = 0x8002 em0: Packet buffer = Tx=16k Rx=32k em0: Flow control watermarks high = 30720 low = 29220 em0: tx_int_delay = 244, tx_abs_int_delay = 244 em0: rx_int_delay = 244, rx_abs_int_delay = 244 em0: fifo workaround = 0, fifo_reset_count = 0 em0: hw tdh = 100, hw tdt = 100 em0: hw rdh = 91, hw rdt = 90 em0: Num Tx descriptors avail = 256 em0: Tx Descriptors not avail1 = 0 em0: Tx Descriptors not avail2 = 0 em0: Std mbuf failed = 0 em0: Std mbuf cluster failed = 0 em0: Driver dropped packets = 0 em0: Driver tx dma failure in encap = 0 em1: Adapter hardware address = 0x840a5218 em1: CTRL = 0x48100240 RCTL = 0x8002 em1: Packet buffer = Tx=14k Rx=10k em1: Flow control watermarks high = 8192 low = 6692 em1: tx_int_delay = 244, tx_abs_int_delay = 244 em1: rx_int_delay = 244, rx_abs_int_delay = 244 em1: fifo workaround = 0, fifo_reset_count = 0 em1: hw tdh = 56, hw tdt = 56 em1: hw rdh = 255, hw rdt = 254 em1: Num Tx descriptors avail = 256 em1: Tx Descriptors not avail1 = 18236046 em1: Tx Descriptors not avail2 = 0 em1: Std mbuf failed = 0 em1: Std mbuf cluster failed = 0 em1: Driver dropped packets = 0 em1: Driver tx dma failure in encap = 0 em2: Adapter hardware address = 0x840af218 em2: CTRL = 0x48140248 RCTL = 0x8002 em2: Packet buffer = Tx=20k Rx=12k em2: Flow control watermarks high = 10240 low = 8740 em2: tx_int_delay = 244, tx_abs_int_delay = 244 em2: rx_int_delay = 244, rx_abs_int_delay = 244 em2: fifo workaround = 0, fifo_reset_count = 0 em2: hw tdh = 241, hw tdt = 241 em2: hw rdh = 87, hw rdt = 86 em2: Num Tx descriptors avail = 256 em2: Tx Descriptors not avail1 = 0 em2: Tx Descriptors not avail2 = 0 em2: Std mbuf failed = 0 em2: Std mbuf cluster failed = 0 em2: Driver dropped packets = 0 em2: Driver tx dma failure in encap = 0 Ошибки, возможно с пакетов по 92 байта, завтра ребутну и позаписываю попорядку. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 16 февраля, 2009 · Жалоба По дескрипторам - 2600 прерываний пакет 542 байта поток в сек 118556962 байт - 118556962/542 - п/с = 218739,78 ~ 218794 / 2600 = 84,15 - используется дескрипторов Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Vinc Опубликовано 16 февраля, 2009 (изменено) · Жалоба 2 - на текущий момент, пока ребутить нехочется это как я понимаю, когда нет input erros? а какой траф щас через интерфейсы ходит ?еще раз сними стат и скинь, что у тебя копится. Изменено 16 февраля, 2009 пользователем Vinc Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 16 февраля, 2009 (изменено) · Жалоба да тестовый стенд, нет теста нет трафа input (em0) output packets errs bytes packets errs bytes colls 124656 0 67507128 124497 0 67496568 0 124702 0 67512897 124575 0 67500580 0 124924 0 67519654 124540 0 67492232 0 124686 0 67525099 124558 0 67514454 0 124710 0 67529373 124573 0 67518248 0 124688 0 67521775 124559 0 67509576 0 125031 0 67512558 124501 0 67478140 0 124723 0 67545152 124605 0 67535592 0 124740 0 67556117 124627 0 67546974 0 124704 0 67528193 124570 0 67517164 0 em0: Adapter hardware address = 0x84096218 em0: CTRL = 0x480c0241 RCTL = 0x8002 em0: Packet buffer = Tx=16k Rx=32k em0: Flow control watermarks high = 30720 low = 29220 em0: tx_int_delay = 244, tx_abs_int_delay = 244 em0: rx_int_delay = 244, rx_abs_int_delay = 244 em0: fifo workaround = 0, fifo_reset_count = 0 em0: hw tdh = 22, hw tdt = 32 em0: hw rdh = 160, hw rdt = 107 em0: Num Tx descriptors avail = 200 em0: Tx Descriptors not avail1 = 0 em0: Tx Descriptors not avail2 = 0 em0: Std mbuf failed = 0 em0: Std mbuf cluster failed = 0 em0: Driver dropped packets = 0 em0: Driver tx dma failure in encap = 0 em0: Adapter hardware address = 0x84096218 em0: CTRL = 0x480c0241 RCTL = 0x8002 em0: Packet buffer = Tx=16k Rx=32k em0: Flow control watermarks high = 30720 low = 29220 em0: tx_int_delay = 244, tx_abs_int_delay = 244 em0: rx_int_delay = 244, rx_abs_int_delay = 244 em0: fifo workaround = 0, fifo_reset_count = 0 em0: hw tdh = 215, hw tdt = 229 em0: hw rdh = 178, hw rdt = 141 em0: Num Tx descriptors avail = 237 em0: Tx Descriptors not avail1 = 0 em0: Tx Descriptors not avail2 = 0 em0: Std mbuf failed = 0 em0: Std mbuf cluster failed = 0 em0: Driver dropped packets = 0 em0: Driver tx dma failure in encap = 0 а терь пришлю еще 1 такойже поток input (em0) output packets errs bytes packets errs bytes colls 124683 0 67519105 124529 0 67507950 0 124671 0 67515341 124572 0 67504374 0 124674 0 67521632 124564 0 67512828 0 125040 0 67516729 124506 0 67480850 0 125420 0 67525580 124478 0 67466758 0 124706 0 67495540 124503 0 67480308 0 157606 0 85340285 157406 0 85326200 0 204760 12401 110916843 204652 0 110905890 0 204832 14622 110924079 204620 0 110909684 0 205300 14625 110867326 204442 0 110813750 0 204769 14651 110884424 204484 0 110868492 0 204706 14631 110906528 204631 0 110897218 0 204689 14628 110899480 204526 0 110892510 0 204688 14667 110869184 204674 0 110857652 0 205250 14674 110843146 204370 0 110789902 0 204880 14676 110892667 204603 0 110870660 0 204641 14628 110875295 204526 0 110866324 0 em0: Adapter hardware address = 0x84096218 em0: CTRL = 0x480c0241 RCTL = 0x8002 em0: Packet buffer = Tx=16k Rx=32k em0: Flow control watermarks high = 30720 low = 29220 em0: tx_int_delay = 244, tx_abs_int_delay = 244 em0: rx_int_delay = 244, rx_abs_int_delay = 244 em0: fifo workaround = 0, fifo_reset_count = 0 em0: hw tdh = 63, hw tdt = 84 em0: hw rdh = 112, hw rdt = 53 em0: Num Tx descriptors avail = 108 em0: Tx Descriptors not avail1 = 0 em0: Tx Descriptors not avail2 = 0 em0: Std mbuf failed = 0 em0: Std mbuf cluster failed = 0 em0: Driver dropped packets = 0 em0: Driver tx dma failure in encap = 0 статс во время ероров em0: Excessive collisions = 0 em0: Sequence errors = 0 em0: Defer count = 0 em0: Missed Packets = 10121178 em0: Receive No Buffers = 10294808 em0: Receive Length Errors = 0 em0: Receive errors = 0 em0: Crc errors = 0 em0: Alignment errors = 0 em0: Collision/Carrier extension errors = 0 em0: RX overruns = 1429231 em0: watchdog timeouts = 0 em0: RX MSIX IRQ = 0 TX MSIX IRQ = 0 LINK MSIX IRQ = 0 em0: XON Rcvd = 0 em0: XON Xmtd = 0 em0: XOFF Rcvd = 0 em0: XOFF Xmtd = 0 em0: Good Packets Rcvd = 455035591 em0: Good Packets Xmtd = 385472077 em0: TSO Contexts Xmtd = 69 em0: TSO Contexts Failed = 0 em0: Excessive collisions = 0 em0: Sequence errors = 0 em0: Defer count = 0 em0: Missed Packets = 10179473 em0: Receive No Buffers = 10294808 em0: Receive Length Errors = 0 em0: Receive errors = 0 em0: Crc errors = 0 em0: Alignment errors = 0 em0: Collision/Carrier extension errors = 0 em0: RX overruns = 1437838 em0: watchdog timeouts = 0 em0: RX MSIX IRQ = 0 TX MSIX IRQ = 0 LINK MSIX IRQ = 0 em0: XON Rcvd = 0 em0: XON Xmtd = 0 em0: XOFF Rcvd = 0 em0: XOFF Xmtd = 0 em0: Good Packets Rcvd = 455854489 em0: Good Packets Xmtd = 386290252 em0: TSO Contexts Xmtd = 69 em0: TSO Contexts Failed = 0 Изменено 16 февраля, 2009 пользователем IvanI Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 16 февраля, 2009 · Жалоба гы After switching to net.isr.direct=0 and 346609775 good packets later, RX overruns haven't increased by one! Thats nice. Still interrupt is using up the CPU. I'm not quite sure if polling would help now!? После переключения к сети isr.direct=0 и 346609775 хорошим пакетам позже, перерасходы RX не увеличились одним! Хороший Thats. Все еще прерывание израсходовало центральный процессор. Я не совсем уверен, если опрос помог бы теперь!? непомогло :( Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Vinc Опубликовано 16 февраля, 2009 (изменено) · Жалоба а)сколько проца taskq карта забирает при erros б)vmstat -i Изменено 16 февраля, 2009 пользователем Vinc Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 16 февраля, 2009 · Жалоба 3 users Load 0.33 0.08 0.03 Feb 17 01:24 Mem:KB REAL VIRTUAL VN PAGER SWAP PAGER Tot Share Tot Share Free in out in out Act 19736 5644 95172 6968 2001080 count All 41696 7656 4341008 11064 pages Proc: Interrupts r p d s w Csw Trp Sys Int Sof Flt cow 11116 total 30 10k 2 52 3116 1000 zfod atkbd0 1 ozfod atapci0 18 13.0%Sys 0.0%Intr 0.0%User 0.0%Nice 87.0%Idle %ozfod atapci1+ 1 | | | | | | | | | | | daefr 2000 cpu0: time ======= prcfr 2550 em0 irq256 3 dtbuf totfr 283 em1 irq257 Namei Name-cache Dir-cache 100000 desvn react 283 em2 irq258 Calls hits % hits % 587 numvn pdwak 2000 cpu1: time 92 frevn pdpgs 2000 cpu2: time intrn 2000 cpu3: time Disks ad8 ad10 28028 wire KB/t 0.00 0.00 13932 act tps 0 0 7592 inact MB/s 0.00 0.00 420 cache %busy 0 0 2000660 free 10048 buf last pid: 2661; load averages: 0.60, 0.21, 0.08 up 0+11:38:00 01:25:41 72 processes: 5 running, 55 sleeping, 12 waiting CPU 0: 0.0% user, 0.0% nice, 0.8% system, 0.0% interrupt, 99.2% idle CPU 1: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle CPU 2: 0.0% user, 0.0% nice, 53.8% system, 0.0% interrupt, 46.2% idle CPU 3: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle Mem: 14M Active, 7596K Inact, 27M Wired, 420K Cache, 10M Buf, 1954M Free Swap: 4096M Total, 4096M Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 13 root 1 171 ki31 0K 8K CPU1 1 696:37 100.00% idle: cpu1 14 root 1 171 ki31 0K 8K RUN 0 688:13 100.00% idle: cpu0 11 root 1 171 ki31 0K 8K CPU3 3 661:31 100.00% idle: cpu3 23 root 1 -68 - 0K 8K - 2 18:18 52.69% em0 taskq 12 root 1 171 ki31 0K 8K CPU2 2 678:46 50.29% idle: cpu2 24 root 1 -68 - 0K 8K - 3 35:45 0.00% em1 taskq 25 root 1 -68 - 0K 8K - 0 8:17 0.00% em2 taskq 15 root 1 -32 - 0K 8K WAIT 0 1:09 0.00% swi4: clock 32 root 1 -68 - 0K 8K - 1 0:42 0.00% dummynet 18 root 1 -16 - 0K 8K - 3 0:27 0.00% yarrow 812 ivan 1 44 0 8428K 3948K select 3 0:01 0.00% sshd 4 root 1 -8 - 0K 8K - 1 0:00 0.00% g_down 825 ivan 1 44 0 8428K 3952K select 3 0:00 0.00% sshd 3 root 1 -8 - 0K 8K - 1 0:00 0.00% g_up 2 root 1 -8 - 0K 8K - 0 0:00 0.00% g_event 835 root 1 44 0 6276K 3024K select 1 0:00 0.00% mc 38 root 1 20 - 0K 8K syncer 3 0:00 0.00% syncer Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Vinc Опубликовано 16 февраля, 2009 · Жалоба непомогло :(При isr.direct=0 машинка буферизирует все полученные пакеты в swi:netпри isr.direct=1 пакеты направляются напрямую на хэндлер прерываний сетевой платы. Если в машинке более 1 сетевой платы то isr.direct=1 должен давать выиграшь в производительности. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 16 февраля, 2009 · Жалоба Скорее всего сложнее, мое понимание(не факт что верное): У карты есть 256 указателей(дескрипторов) куда писать пакеты, после получения первого пакета генерится прерывание, которое будет выполненно позже, когда наконец драйвер соизволит заняться картой(пройдет время или наберется заданное количество пакетов) он соберет все пакеты(скорее всего просто сменит в списке указатели на занятые буфера) и обновит список указателей и далее по кругу. А вот далее у меня и происходят ошибки или в самой железке, что врядли. И еще нарыл, правда нетбсд .It Va "Rx overruns"Rx Fifo overruns reported by the Tulip chip in the Status CSR. The driver stops the receiver and restarts it to work around a potential hardware hangup. .It Va "перерасходы Rx" Rx Первым прибыл, первым обслужен наводняет сообщаемый Тюльпаном, вносят Состояние CSR. Драйвер останавливает получатель и перезапускает его, чтобы работать вокруг потенциальных аппаратных средств hangup. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
littlesavage Опубликовано 16 февраля, 2009 · Жалоба 3.2.11.5 Receiver FIFO Overrun (ICR.RXO) FIFO overrun occurs when hardware attempts to write a byte to a full FIFO. An overrun could indicate that software has not updated the tail pointer to provide enough descriptors/buffers, or that the PCIe* bus is too slow draining the receive FIFO. Incoming packets that overrun the FIFO are dropped and do not affect future packet reception. Note that this interrupt stops and re-initializes the entire active delayed receive interrupt process. С dev.em.х.rx_abs_int_delay=0 они продолжают копиться? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 17 февраля, 2009 · Жалоба С dev.em.х.rx_abs_int_delay=0 они продолжают копиться? - дас hw.em.rxd=1024 hw.em.txd=1024 получаю input (em0) output packets errs bytes packets errs bytes colls 196848 22475 106678627 196808 0 106676712 0 196642 22487 106568152 196640 0 106566096 0 196800 22437 106656514 196776 0 106654442 0 Снять 1ую сетевуху - непомогло Замена sysctl dev.em.0.rx_int_delay=0 sysctl dev.em.0.tx_int_delay=66 sysctl dev.em.0.rx_abs_int_delay=66 sysctl dev.em.0.tx_abs_int_delay=66 sysctl dev.em.0.rx_processing_limit=100 на sysctl dev.em.0.rx_int_delay=250 sysctl dev.em.0.tx_int_delay=250 sysctl dev.em.0.rx_abs_int_delay=250 sysctl dev.em.0.tx_abs_int_delay=250 sysctl dev.em.0.rx_processing_limit=4000 добавляет 10 - 15 % нагрузки на проц Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 17 февраля, 2009 · Жалоба При options DEVICE_POLLING никакие настройки таймаутов в sysctl dev.em работать не будут. Пересобирайте ядро без поллинга, или включайте поллинг на всех интерфейсах и тюньте его. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 17 февраля, 2009 · Жалоба на данный момент выяснил что потери на ин интерфейсе возникают только при дуплексе Ядро собирается, интересно как всетаки дуплексом гиг через самую говеную в системе карту ходит, а через хорошие - нет?? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 17 февраля, 2009 · Жалоба И вместе с перекомпиляцией без поллинга не забудьте hw.em.rxd=4096, hw.em.txd=4096 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 17 февраля, 2009 · Жалоба Новое ядро и hw.em.rxd=4096, hw.em.txd=4096 input (em0) output packets errs bytes packets errs bytes colls 197225 22541 106614323 196617 0 106576394 0 196808 22511 106637912 196764 0 106632874 0 196863 22481 106656408 196768 0 106648480 0 196814 22497 106640553 196747 0 106634388 0 197058 22501 106629080 196693 0 106605662 0 Отключаю роутинг input (em0) output packets errs bytes packets errs bytes colls 219948 0 118925385 3 0 362 0 219134 0 118730455 2 0 224 0 219320 0 118834371 2 0 224 0 219310 0 118831105 2 0 224 0 219786 0 118834476 2 0 224 0 219457 0 118828975 2 0 224 0 219346 0 118845248 2 0 224 0 219319 0 118829643 2 0 224 0 219358 0 118831139 2 0 224 0 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 17 февраля, 2009 · Жалоба При hw.em.rxd=4096, hw.em.txd=4096 и попытке стартовать EM2 ошибка "EM2: Could not setup recive structures" и дохнет вся сеть. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 17 февраля, 2009 · Жалоба sysctl dev.em.0.rx_int_delay=600 sysctl dev.em.0.tx_int_delay=600 sysctl dev.em.0.rx_abs_int_delay=1000 sysctl dev.em.0.tx_abs_int_delay=1000 sysctl dev.em.0.rx_processing_limit=1000 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 17 февраля, 2009 · Жалоба sysctl dev.em.0.rx_int_delay=600sysctl dev.em.0.tx_int_delay=600 sysctl dev.em.0.rx_abs_int_delay=1000 sysctl dev.em.0.tx_abs_int_delay=1000 sysctl dev.em.0.rx_processing_limit=1000 input (em0) output packets errs bytes packets errs bytes colls 206615 12582 111958441 206521 0 111953704 0 206864 12616 112093171 206828 0 112088264 0 206675 12592 111989452 206703 0 111985554 0 206918 12573 112033585 206614 0 112016990 0 206708 12612 111971160 206334 0 111960622 0 Чето кажется мне что это баг драйвера при работе с чипами 82572 - 82573 и лечить (типа #define EM_FAST_IRQ 1 ) или патчить надо драйвер. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 17 февраля, 2009 · Жалоба Смена шедулера тоже непомогла Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 17 февраля, 2009 (изменено) · Жалоба #define EM_FAST_IRQ 1 - непомогает, но как сервак воет ппц input (em0) output packets errs bytes packets errs bytes colls 197108 22489 106629878 196703 0 106602952 0 197110 22516 106633203 196695 0 106606746 0 а на 82566 input (em1) output packets errs bytes packets errs bytes colls 218783 0 118354761 217778 0 117800990 0 218302 0 118268964 217494 0 118138114 0 218513 0 118384465 217753 0 118029172 0 219352 0 118836067 217727 0 118009660 0 219515 0 118798084 217751 0 118003156 0 218582 0 118331343 217728 0 118016706 0 219064 0 118691498 217754 0 118024294 0 работает всю голову ужо сломал . Изменено 17 февраля, 2009 пользователем IvanI Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 17 февраля, 2009 · Жалоба драйвер от Яндекса добавляет дропов до 28к :( Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 17 февраля, 2009 · Жалоба Что там в net.inet.ip.intr_queue_maxlen ? В яндексовом драйвере сколько dev.em.0.rx_kthreads ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 17 февраля, 2009 · Жалоба dev.em.0.rx_kthreads нетрогал, net.inet.ip.intr_queue_maxlen: 50 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...