URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 92146
[ Назад ]

Исходное сообщение
"Bridge-ipfw грузит одно ядро"

Отправлено Renaissance87 , 20-Авг-11 16:56 
Всем привет.
Долго гулял по ссылкам гугла, но так и не нашел ответа на свой вопрос.
Суть моей проблемы:  Есть сервер

CPU: Intel(R) Xeon(R) CPU           E5606  @ 2.13GHz (2133.42-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x206c2  Family = 6  Model = 2c  Stepping = 2

FreeBSD  8.2-RELEASE FreeBSD 8.2-RELEASE #1: Fri Jul 22 20:06:37 MSD 2011     Renaissance87@localhost:/usr/obj/usr/src/sys/MYKERNEL  i386

Четырех портовая сетевая карта Интел:

igb0: <Intel(R) PRO/1000 Network Connection version - 2.0.7> port 0xe880-0xe89f mem 0xfbe60000-0xfbe7ffff,0xfbe40000-0xfbe5ffff,0xfbeb8000-0xfbebbfff irq 32 at device 0.0 on pci5
igb0: Using MSIX interrupts with 5 vectors
igb0: [ITHREAD]
igb0: [ITHREAD]
igb0: [ITHREAD]
igb0: [ITHREAD]
igb0: [ITHREAD]

делаю бридж
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether ae:6d:e9:75:aa:5c
        id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
        maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
        root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
        member: igb0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 1 priority 128 path cost 2000000
        member: igb1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 2 priority 128 path cost 2000000


в igb0 - один комп
в igb1 - другой

управление в igb4 (встроенная)
                  
                  
КОМП----[igb0] cервер [igb1] ---- КОМП

для теста ipfw - allow ip from any to any

начинаю гонять трафик iperfom
и наблюдаю вот такую ситуацию:

CPU 0:  0.0% user,  0.0% nice, 99.6% system,  0.0% interrupt,  0.4% idle
CPU 1:  0.0% user,  0.0% nice,  0.0% system,  5.4% interrupt, 94.6% idle
CPU 2:  0.0% user,  0.0% nice,  0.0% system, 39.9% interrupt, 60.1% idle
CPU 3:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
Mem: 8680K Active, 7720K Inact, 165M Wired, 80K Cache, 11M Buf, 2812M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME       THR PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
   11 root             4 171 ki31     0K    32K RUN     0 141:31 302.69% idle
    0 root            32 -68    0     0K   248K -       3   3:07 79.05% kernel
   12 root            49 -60    -     0K   392K WAIT    0   0:35 32.37% intr

Из-за чего грузится только одно ядро системы?
Как это можно победить?
Что еще предоставить для просмотра?



Содержание

Сообщения в этом обсуждении
"Bridge-ipfw грузит одно ядро"
Отправлено исчо_адын_аноним , 20-Авг-11 21:41 
>Из-за чего грузится только одно ядро системы?

бсдя так и не научилась SMP
>Как это можно победить?

поставить линух, любой
>Что еще предоставить для просмотра?

ничего


"Bridge-ipfw грузит одно ядро"
Отправлено KES , 18-Ноя-11 12:10 
>>Из-за чего грузится только одно ядро системы?
> бсдя так и не научилась SMP

Вы просто не научились читать ман ;-)

>>Как это можно победить?
> поставить линух, любой
> 1. Включить отложенную обработку пакетов
> sysctl net.isr.direct=0
> sysctl net.isr.direct_force=0
> sysctl net.isr.maxthreads=число cpu
> sysctl net.isr.numthreads=число cpu

Я бы порекомендовал (число цпу) -1.

Директ и форсу в 1 ставить не нужно, т.к. в этом случае будет задействовано только одно ядро на одну сетевую, если директ 1 и форсе 0, то в это случае, это так пишут, а я сам не пробовал, будет пакеты обрабатываться одним ядром, а что не поместилось в остальных -- как-то сомнительно звучит.

и нужно обязательно тюнить sysctl net.isr.maxthreads, т.к. по умолчанию стоит 1, т.е будет обрабатываться одним ядром, что на мультироцессорных системах не выгодно ))


"Bridge-ipfw грузит одно ядро"
Отправлено Wulf , 21-Авг-11 17:48 
>[оверквотинг удален]
>      32 -68    0
>     0K   248K -  
>     3   3:07 79.05% kernel
>    12 root        
>     49 -60    -  
>    0K   392K WAIT    
> 0   0:35 32.37% intr
> Из-за чего грузится только одно ядро системы?
> Как это можно победить?
> Что еще предоставить для просмотра?

Есть 2 варианта:

1. Включить отложенную обработку пакетов
sysctl net.isr.direct=0
sysctl net.isr.direct_force=0
sysctl net.isr.maxthreads=число cpu
sysctl net.isr.numthreads=число cpu

или более популярный

2. Развесить прерывания MSI-X на разные CPU cpuset-ом


"Bridge-ipfw грузит одно ядро"
Отправлено Renaissance87 , 24-Авг-11 17:40 
>[оверквотинг удален]
>> Как это можно победить?
>> Что еще предоставить для просмотра?
> Есть 2 варианта:
> 1. Включить отложенную обработку пакетов
> sysctl net.isr.direct=0
> sysctl net.isr.direct_force=0
> sysctl net.isr.maxthreads=число cpu
> sysctl net.isr.numthreads=число cpu
> или более популярный
> 2. Развесить прерывания MSI-X на разные CPU cpuset-ом

Установил 7.4 - подобной проблемы не наблюдаю.