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

Исходное сообщение
"Прерывания на неактивных интерфейсах"

Отправлено RSG , 10-Апр-09 12:58 
OS - FreeBSD 6.4

На материнской плате есть два сетевых интерфейса:

# pciconf -lv
bge0@pci4:0:0:  class=0x020000 card=0x81491043 chip=0x165914e4 rev=0x11 hdr=0x00
    class      = network
    subclass   = ethernet
bge1@pci6:0:0:  class=0x020000 card=0x81491043 chip=0x165914e4 rev=0x11 hdr=0x00
    class      = network
    subclass   = ethernet

находящихся в состоянии down:


# ifconfig bge0
bge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
        ether 00:17:31:1b:2c:e4
        media: Ethernet autoselect (none)
        status: no carrier

# ifconfig bge1
bge1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
        ether 00:17:31:1b:2c:e5
        media: Ethernet autoselect (none)
        status: no carrier

При этом наблюдаю следующее:
#ps aux | grep bge
USER     PID %CPU %MEM   VSZ   RSS  TT  STAT STARTED      TIME COMMAND
root      30 16.0  0.0     0     8  ??  LL    4:14PM 233:17.55 [irq16: bge0 bge1+]

# vmstat -i
interrupt                          total       rate
irq16: bge0 bge1+              442787967       5944

Как такое возможно?
Если прерывание 16 делиться с чем-то еще, то как посмотреть с чем?


Содержание

Сообщения в этом обсуждении
"Прерывания на неактивных интерфейсах"
Отправлено Michael , 10-Апр-09 15:50 

>
>Как такое возможно?

возможно. полагаю, это связано с модуляцией прерываний, которая используется на интеловских гигабитных карточках.


"Прерывания на неактивных интерфейсах"
Отправлено RSG , 10-Апр-09 16:17 
>возможно. полагаю, это связано с модуляцией прерываний, которая используется на интеловских гигабитных
>карточках.

Спасибо за ответ!

Можно в двух словах что такое "модуляция прерываний" ?
Как могут интеловские карточки влиять на броадкомовские (ведь именно с ними непонятность)?


"Прерывания на неактивных интерфейсах"
Отправлено Michael , 10-Апр-09 16:33 
>Можно в двух словах что такое "модуляция прерываний" ?

сетевая карта не герерирует на каждый пакет прерывание, как это делалось на 100 мбитных картах, а использует для этого какой-то хитрый алгоритм.
>Как могут интеловские карточки влиять на броадкомовские (ведь именно с ними непонятность)?
>

ошибочка вышла. насчет броадкомовских карт я не уверен.


"Прерывания на неактивных интерфейсах"
Отправлено RSG , 10-Апр-09 17:37 
>>Можно в двух словах что такое "модуляция прерываний" ?
>
>сетевая карта не герерирует на каждый пакет прерывание, как это делалось на
>100 мбитных картах, а использует для этого какой-то хитрый алгоритм.

В прерываниях с задержкой, то все понятно.

Здесь самое то странное, что интерфейсы выключены!!! Как они могут генерировать прерывания!!? На них не приходит (не уходит) ни один пакет. Это видно в netstat.



"Прерывания на неактивных интерфейсах"
Отправлено Michael , 11-Апр-09 15:16 
>В прерываниях с задержкой, то все понятно.
>
>Здесь самое то странное, что интерфейсы выключены!!! Как они могут генерировать прерывания!!?
>На них не приходит (не уходит) ни один пакет. Это видно
>в netstat.

вы знаете какой алгоритм зашит в чипе карточек? я - нет. но он запросто может быть источником прерываний в вашем случае


"Прерывания на неактивных интерфейсах"
Отправлено PavelR , 11-Апр-09 23:47 
>[оверквотинг удален]
>          
>   total       rate
>
>irq16: bge0 bge1+          
>    442787967      
>5944
>
>Как такое возможно?
>Если прерывание 16 делиться с чем-то еще, то как посмотреть с чем?
>

bge1+ - плюс ИМХО и говорит о том, что прерывание делится еще с чем-то. Смотреть в dmesg ?


"Прерывания на неактивных интерфейсах"
Отправлено RSG , 13-Апр-09 14:55 
Если прерывание 16 делиться с чем-то еще, то как посмотреть с чем?
>

Ни в dmesg, ни в BIOS не видно чтобы irq16 было еще использовано для чего-то.
Решение пока одно - отключение на материнской плате карточек премычкой. Стало значительно легче.