Есть два сервера с идентичной аппаратной конфигурацией, сетевые платы Chelsio T520-LL-CR.
Столкнулся с проблемой, при мизерном трафике (<20kpps) ядра CPU прерываниями ложатся в полку, растут задержки, рвутся tcp сессиии. Вот как это выглядит:
Код: Выделить всё
>top -SPH
last pid: 58738; load averages: 2.29, 2.44, 1.94
1764 processes:19 running, 1691 sleeping, 54 waiting
CPU 0: 0.8% user, 0.0% nice, 4.7% system, 0.0% interrupt, 94.5% idle
CPU 1: 0.4% user, 0.0% nice, 5.9% system, 0.0% interrupt, 93.8% idle
CPU 2: 0.4% user, 0.0% nice, 3.5% system, 0.8% interrupt, 95.3% idle
CPU 3: 0.0% user, 0.0% nice, 3.5% system, 0.0% interrupt, 96.5% idle
CPU 4: 0.0% user, 0.0% nice, 5.1% system, 0.0% interrupt, 94.9% idle
CPU 5: 0.4% user, 0.0% nice, 3.1% system, 0.0% interrupt, 96.5% idle
CPU 6: 0.0% user, 0.0% nice, 0.0% system, 100% interrupt, 0.0% idle
CPU 7: 0.0% user, 0.0% nice, 2.0% system, 0.0% interrupt, 98.0% idle
CPU 8: 0.4% user, 0.0% nice, 2.3% system, 2.0% interrupt, 95.3% idle
CPU 9: 0.0% user, 0.0% nice, 3.1% system, 0.8% interrupt, 96.1% idle
CPU 10: 0.0% user, 0.0% nice, 0.0% system, 99.6% interrupt, 0.4% idle
CPU 11: 0.0% user, 0.0% nice, 0.8% system, 0.0% interrupt, 99.2% idle
CPU 12: 0.4% user, 0.0% nice, 4.3% system, 1.2% interrupt, 94.1% idle
CPU 13: 0.0% user, 0.0% nice, 2.0% system, 0.8% interrupt, 97.3% idle
CPU 14: 0.0% user, 0.0% nice, 3.1% system, 1.2% interrupt, 95.7% idle
CPU 15: 0.0% user, 0.0% nice, 3.5% system, 0.0% interrupt, 96.5% idle
Mem: 7208K Active, 83M Inact, 8352K Laundry, 46G Wired, 999M Buf, 455M Free
ARC: 34G Total, 1693M MFU, 29G MRU, 40M Anon, 3332M Header, 400M Other
30G Compressed, 45G Uncompressed, 1.53:1 Ratio
Swap: 3788M Total, 97M Used, 3691M Free, 2% Inuse
PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND
11 root 155 ki31 0K 256K CPU11 11 68.2H 100.00% idle{idle: cpu11}
11 root 155 ki31 0K 256K CPU7 7 68.0H 100.00% idle{idle: cpu7}
12 root -92 - 0K 896K CPU6 6 2:02 100.00% intr{irq279: t5nex0:1a4}
11 root 155 ki31 0K 256K CPU4 4 67.9H 96.18% idle{idle: cpu4}
11 root 155 ki31 0K 256K CPU3 3 68.2H 96.15% idle{idle: cpu3}
11 root 155 ki31 0K 256K CPU1 1 68.1H 95.61% idle{idle: cpu1}
11 root 155 ki31 0K 256K CPU2 2 67.8H 95.55% idle{idle: cpu2}
11 root 155 ki31 0K 256K CPU13 13 68.0H 95.45% idle{idle: cpu13}
11 root 155 ki31 0K 256K CPU15 15 67.9H 95.44% idle{idle: cpu15}
11 root 155 ki31 0K 256K CPU5 5 68.0H 95.14% idle{idle: cpu5}
11 root 155 ki31 0K 256K CPU9 9 68.0H 95.11% idle{idle: cpu9}
11 root 155 ki31 0K 256K CPU14 14 67.9H 95.04% idle{idle: cpu14}
11 root 155 ki31 0K 256K CPU12 12 67.8H 94.84% idle{idle: cpu12}
11 root 155 ki31 0K 256K CPU0 0 68.0H 94.47% idle{idle: cpu0}
11 root 155 ki31 0K 256K RUN 8 67.9H 94.17% idle{idle: cpu8}
12 root -92 - 0K 896K CPU10 10 10:35 91.63% intr{irq265: t5nex0:0a0}
Код: Выделить всё
>dmesg | grep t5nex
t5nex0: <Chelsio T520-LL-CR> mem 0xfb680000-0xfb6fffff,0xfa000000-0xfaffffff,0xf9ff0000-0xf9ff1fff irq 32 at device 0.4 on pci12
t5nex0: default config file not available, will use the config file on the card's flash instead.
cxl0: <port 0> on t5nex0
cxl1: <port 1> on t5nex0
t5nex0: PCIe gen2 x8, 2 ports, 22 MSI-X interrupts, 55 eq, 21 iq
>uname -a
FreeBSD storage1 11.1-RELEASE-p8 FreeBSD 11.1-RELEASE-p8 #0 r331830M
>ifconfig
cxl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000
options=ec07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
ether 00:07:43:38:60:70
hwaddr 00:07:43:38:60:70
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet 10Gbase-Twinax <full-duplex>
status: active
cxl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000
options=ec07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
ether 00:07:43:38:60:70
hwaddr 00:07:43:38:60:78
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet 10Gbase-Twinax <full-duplex>
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x7
inet 127.0.0.1 netmask 0xff000000
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
groups: lo
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000
options=ec07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
ether 00:07:43:38:60:70
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect
status: active
groups: lagg
laggproto loadbalance lagghash l2,l3,l4
laggport: cxl0 flags=4<ACTIVE>
laggport: cxl1 flags=4<ACTIVE>
interconnect: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000
options=c01bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
ether ac:16:2d:b2:17:54
inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect
status: active
groups: lagg
laggproto lacp lagghash l2,l3,l4
laggport: bce0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
laggport: bce1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
lagg0.34: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=680703<RXCSUM,TXCSUM,TSO4,TSO6,LRO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
ether 00:07:43:38:60:70
inet 10.240.33.112 netmask 0xffffff00 broadcast 10.240.33.255
inet 10.240.33.110 netmask 0xffffffff broadcast 10.240.33.110
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect
status: active
vlan: 34 vlanpcp: 0 parent interface: lagg0
groups: vlan
lagg0.35: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000
options=680703<RXCSUM,TXCSUM,TSO4,TSO6,LRO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
ether 00:07:43:38:60:70
inet 10.240.34.112 netmask 0xffffff00 broadcast 10.240.34.255
inet 10.240.34.110 netmask 0xffffffff broadcast 10.240.34.110
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect
status: active
vlan: 35 vlanpcp: 0 parent interface: lagg0
groups: vlan
lagg0.36: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000
options=680703<RXCSUM,TXCSUM,TSO4,TSO6,LRO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
ether 00:07:43:38:60:70
inet 10.240.35.112 netmask 0xffffff00 broadcast 10.240.35.255
inet 10.240.35.110 netmask 0xffffffff broadcast 10.240.35.110
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect
status: active
vlan: 36 vlanpcp: 0 parent interface: lagg0
groups: vlan
netstat -ihw1 lagg0
input (Total) output
packets errs idrops bytes packets errs bytes colls
7.5k 0 0 31M 6.0k 0 903K 0
9.0k 0 0 11M 8.3k 0 1.4M 0
3.6k 0 0 11M 3.0k 0 452K 0
12k 0 0 13M 11k 0 1.8M 0
3.6k 0 0 7.0M 2.9k 0 474K 0
3.8k 0 0 11M 3.1k 0 432K 0
2.7k 0 0 7.7M 2.2k 0 272K 0
3.0k 0 0 6.9M 2.5k 0 386K 0
9.8k 0 0 18M 9.0k 0 1.6M 0
4.7k 0 0 6.3M 4.2k 0 679K 0