Перейти к содержимому
Калькуляторы

Добрый вечер уважаемы коллеги. Прошу помощи в debian. Карта Intel X520-DA2 (82599). Как указать в ручную кол-во очередей? Во freebsd это делается loader.conf hw.igb.num_queues="1".

Как я понял надо прописать опции драйвера в /etc/modprobe.d/ixgbe.conf . Чтобы после загрузки , проставились очереди карты в ручную , а не равному кол-ву ядер.

Изменено пользователем roysbike

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

modinfo ixgbe

parm: RSS:Number of Receive-Side Scaling Descriptor Queues, default 0=number of cpus (array of int)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

modinfo ixgbe

parm: RSS:Number of Receive-Side Scaling Descriptor Queues, default 0=number of cpus (array of int)

Видимо драйер такой, нету это параметра.

 

filename:       /lib/modules/3.2.0-43-generic/kernel/drivers/net/ethernet/intel/ixgbe/ixgbe.ko
version:        3.6.7-k
license:        GPL
description:    Intel(R) 10 Gigabit PCI Express Network Driver
author:         Intel Corporation, <linux.nics@intel.com>
depends:        mdio,dca
intree:         Y
vermagic:       3.2.0-43-generic SMP mod_unload modversions 

parm:           max_vfs:Maximum number of virtual functions to allocate per physical function (uint)
parm:           allow_unsupported_sfp:Allow unsupported and untested SFP+ modules on 82599-based adapters (uint)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Видимо драйер такой, нету это параметра.

Так всегда. Качайте свежие исходники драйвера с Интела и компильте. Потом появятся все параметры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день! Имеется маршрутизатор с двумя CPU Xeon X5650 + сетевая карта Intel 82599EB на 2x10G порта. Debian 3.2.65-1+deb7u1 x86_64. В один порт трафик входит, с другого выходит.

Изначально прерывания были раскиданы этим скриптом:

 

 

#!/bin/bash

ncpus=`grep -ciw ^processor /proc/cpuinfo`
test "$ncpus" -gt 1 || exit 1

n=0
for irq in `cat /proc/interrupts | grep eth | awk '{print $1}' | sed s/\://g`
do
   f="/proc/irq/$irq/smp_affinity"
   test -r "$f" || continue
   cpu=$[$ncpus - ($n % $ncpus) - 1]
   if [ $cpu -ge 0 ]
           then
               mask=`printf %x $[2 ** $cpu]`
               echo "Assign SMP affinity: eth$n, irq $irq, cpu $cpu, mask 0x$mask"
               echo "$mask" > "$f"
               let n+=1
   fi
done

 

 

Прерывания раскидывались так:

 

           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7       CPU8       CPU9       CPU10      CPU11      CPU12      CPU13      CPU14      CPU15      CPU16      CPU17      CPU18      CPU19      CPU20      CPU21      CPU22      CPU23      
  0:       3891          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-IO-APIC-edge      timer
  1:          3          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-IO-APIC-edge      i8042
  8:          1          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-IO-APIC-edge      rtc0
  9:          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-IO-APIC-fasteoi   acpi
 12:          4          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-IO-APIC-edge      i8042
 20:          2          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb2
 21:        249          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-IO-APIC-fasteoi   ipmi_si
 22:        761          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-IO-APIC-fasteoi   uhci_hcd:usb4, uhci_hcd:usb6, hpilo
 23:          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-IO-APIC-fasteoi   uhci_hcd:usb3, uhci_hcd:usb5
 64:          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  DMAR_MSI-edge      dmar0
 67:    1923899          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      hpsa0
 71:         10          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0 1999966434  IR-PCI-MSI-edge      eth1-TxRx-0
 72:         10          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  654769257          0  IR-PCI-MSI-edge      eth1-TxRx-1
 73:         10          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  554865078          0          0  IR-PCI-MSI-edge      eth1-TxRx-2
 74:         10          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  153405985          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-3
 75:         10          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  283292596          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-4
 76:         10          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0 1328107112          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-5
 77:         10          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0 1171289864          0          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-6
 78:         10          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0 1189658320          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-7
 79:         10          0          0          0          0          0          0          0          0          0          0          0          0          0          0 1289436987          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-8
 80:         10          0          0          0          0          0          0          0          0          0          0          0          0          0 1148436405          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-9
 81:         10          0          0          0          0          0          0          0          0          0          0          0          0 1254035872          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-10
 82:         10          0          0          0          0          0          0          0          0          0          0          0 1639494454          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-11
 83:         10          0          0          0          0          0          0          0          0          0          0 1037776483          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-12
 84:         10          0          0          0          0          0          0          0          0          0  704568569          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-13
 85:         10          0          0          0          0          0          0          0          0  670791112          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-14
 86:         15          0          0          0          0          0          0          0  637873385          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-15
 87:         10          0          0          0          0          0          0    7575773          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-16
 88:         10          0          0          0          0          0    6808035          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-17
 89:         10          0          0          0          0    7312367          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-18
 90:         10          0          0          0    7394121          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-19
 91:         10          0          0    6916941          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-20
 92:         10          0    6789984          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-21
 93:         10    6532196          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-22
 94:    6674588          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth1-TxRx-23
 95:          4          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0     307704  IR-PCI-MSI-edge      eth1
 96:          7          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0 3659091713          0  IR-PCI-MSI-edge      eth0-TxRx-0
 97:          7          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0 3987911310          0          0  IR-PCI-MSI-edge      eth0-TxRx-1
 98:          7          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0 3872853838          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-2
 99:          7          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0 4207301007          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-3
100:         10          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  337404472          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-4
101:          7          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  659930817          0          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-5
102:          7          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  504036066          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-6
103:          7          0          0          0          0          0          0          0          0          0          0          0          0          0          0  631274366          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-7
104:          7          0          0          0          0          0          0          0          0          0          0          0          0          0  287377451          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-8
105:          7          0          0          0          0          0          0          0          0          0          0          0          0  397714442          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-9
106:          7          0          0          0          0          0          0          0          0          0          0          0  356545567          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-10
107:          7          0          0          0          0          0          0          0          0          0          0 4123982601          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-11
108:          7          0          0          0          0          0          0          0          0          0 3769032000          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-12
109:          7          0          0          0          0          0          0          0          0 3763553316          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-13
110:          7          0          0          0          0          0          0          0 3737570554          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-14
111:          8          0          0          0          0          0          0  186089124          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-15
112:          7          0          0          0          0          0   27065362          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-16
113:          7          0          0          0          0   27958899          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-17
114:          7          0          0          0   28832067          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-18
115:          7          0          0   29507216          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-19
116:          7          0   30988926          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-20
117:          7   27350298          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-21
118:   26788194          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth0-TxRx-22
119:          7          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0    2743521  IR-PCI-MSI-edge      eth0-TxRx-23
120:          4          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0     183073          0  IR-PCI-MSI-edge      eth0
121:          1          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0    6172091          0          0  IR-PCI-MSI-edge      eth6-0
122:          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0 1930017378          0          0          0  IR-PCI-MSI-edge      eth6-1
123:          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0 1960242293          0          0          0          0  IR-PCI-MSI-edge      eth6-2
124:          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0 2260292624          0          0          0          0          0  IR-PCI-MSI-edge      eth6-3
125:          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0 1750605489          0          0          0          0          0          0  IR-PCI-MSI-edge      eth6-4
126:          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0 1700149964          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth6-5
127:          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0 1766248259          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth6-6
128:          0          0          0          0          0          0          0          0          0          0          0          0          0          0 1214345123          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth6-7
NMI:     111020     119891      87509      93150      88111      97973      92063     302004     415474     426479     413839     407432     373946     385482     361609     411737     397528     409919     397537     437073     445543     421218     415299     310427   Non-maskable interrupts
LOC:   61736524   63708133   43337824   40916803   47995119   42519973   49062746  184319289  218695111  218085477  219780064  218422471  209135343  209610724  254657842  223777066  218140241  221126960  233865693  219906474  219176039  214341953  211581521  149816027   Local timer interrupts
SPU:          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0   Spurious interrupts
PMI:     111020     119891      87509      93150      88111      97973      92063     302004     415474     426479     413839     407432     373946     385482     361609     411737     397528     409919     397537     437073     445543     421218     415299     310427   Performance monitoring interrupts
IWI:          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0   IRQ work interrupts
RES:    6567450    5393672    5940375    3980666    5578303    4143103    4914192    3353556    7532778    3123193    5032316    4183244     356079     346598     562013     447568     323865     448250     267190     879307     245716     252700     266586     655123   Rescheduling interrupts
CAL:       9137     600327       9167       9158       9121       9134       9383       9376       9349       9329       9367       9361       9353       9366       6450       6205       8849       8817       9371       9368       9242       9230       9331       9323   Function call interrupts
TLB:        440        318        266        189        370        369        421      43749      95062      85067      91300      82070      72153      71219     620395     592822     277743     286203     247936     199033     136603     137548      91786      68392   TLB shootdowns
TRM:          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0   Thermal event interrupts
THR:          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0   Threshold APIC interrupts
MCE:          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0   Machine check exceptions
MCP:       3848       3848       3848       3848       3848       3848       3848       3848       3848       3848       3848       3848       3848       3848       3848       3848       3848       3848       3848       3848       3848       3848       3848       3848   Machine check polls
ERR:          0
MIS:          0

 

 

Но проблемы была в том, что первые 7 ядер не нагружались. В atop было видно, что на первых семи ядрах irq=0%, в htop не показывало нагрузку на первые ядра. В целом сервер работал хорошо, мршрутизировал без проблем. Но хотелось всё сделать красиво.

Прочитал эту рекомендацию:

Все хорошо, только для начала выясните какие ядра какому процу принадлежат, не факт что они идут по очереди! Очереди одной сетевой должны обрабатываться одним процом.

Выполнил скрипт с того же сообщения, и выяснил, что ядра чередуются через одно с разных процессоров:

 

Node #0
       Core #18
       Core #20
       Core #22
       Core #0
       Core #2
       Core #4
       Core #6
       Core #8
       Core #10
       Core #12
       Core #14
       Core #16
Node #1
       Core #19
       Core #21
       Core #23
       Core #1
       Core #3
       Core #5
       Core #7
       Core #9
       Core #11
       Core #13
       Core #15
       Core #17

 

Раскидал прерывания в соответствии с этим постом:

./interrupts.sh eth0 0 2 4 6 8 10 12 14 16 18 20 22
./interrupts.sh eth1 1 3 5 7 9 11 13 15 17 19 21 23

и пробовал так:

./interrupts.sh eth0- 18 20 22 0 2 4 6 8 10 12 14 16
./interrupts.sh eth1- 19 21 23 1 3 5 7 9 11 13 15 17

В результате прерывания раскидались красиво, нагрузка на ядра стала почти равномерной. Но с сервером начали происходить странные баги:

Если пользовательский трафик доходит до 1.5 гбита и выше, то всё работает хорошо. Если пользовательский трафик меньше 1.5 гбита, то идёт резкая просадка по трафику до 281 мбита, со скачками до гигабита (примерно на 10 секунд - минута). Так же во время просадки наблюдаются дропы пакетов на сетевых интерфейсах, и только на линуксовом сервере, т.е. на интерфейсах сетевого оборудования на другой стороне сетевых карт ошибок нету. Ошибки идут в rx_missed_errors, fdir_miss, fdir_overflow, fdir_match. В результате по утрам и ночью интернет работает с просадкой по трафику. Как только нагрузка увеличивается выше 1.5 гбита, всё работает в штатном режиме. При возвращении прерываний по очереди, как с первого скрипта, сервер начинает работать без проблем, трафик становится в норме, ошибки на интерфейсах пропадают.

Во время проблем нагрузка на процессор не возрастала. Ниже графики при прерываниях с первого скрипта, когда всё работает нормально:

 

Rkb9As8.png

SuvYd8o.png

 

И графики при втором варианте раскидывания прерываний, когда наблюдаются проблемы. Красным отмечено проседание трафика, и иногда скачки битрейта до нормального состояния:

 

9sThorL.png

RxTvYCU.png

3iOgj1Z.png

 

 

У кого-нибудь есть предположения, в чём может быть проблема?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Половина проблем(с очередями/раскидыванием и незагрузкой всех ядер) у вас от включенного HT, на кой фиг он на маршрутизаторе??

Вторая половина(с провалами) подозреваю из-за невыключенного intel_idle, на низкой нагрузке система банально уходит в глубокий сон и начинает тупить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

+1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Все хорошо, только для начала выясните какие ядра какому процу принадлежат, не факт что они идут по очереди! Очереди одной сетевой должны обрабатываться одним процом.

 

show-cpus.sh

#!/bin/bash

(cat /sys/devices/system/node/online | \
awk ' \
{ \
       split($1, parts, ","); \
       for (part in parts) { \
               split(parts[part], items, "-"); \
               seq_start = items[1]; \
               seq_end = items[2]; \
               if (seq_start == "") {seq_start = 0;}; \
               if (seq_end == "") {seq_end = seq_start;} \
               for (seq = seq_start; seq <= seq_end; seq++) {print seq;} \
       } \
}') | \
while read NODE
do
       echo "Node #$NODE"
       (cat /sys/devices/system/node/node${NODE}/cpulist | \
       awk ' \
       { \
               split($1, parts, ","); \
               for (part in parts) { \
                       split(parts[part], items, "-"); \
                       seq_start = items[1]; \
                       seq_end = items[2]; \
                       if (seq_start == "") {seq_start = 0;}; \
                       if (seq_end == "") {seq_end = seq_start;} \
                       for (seq = seq_start; seq <= seq_end; seq++) {print seq;} \
               } \
       }') | \
       while read CORE
       do
               echo -e "\tCore #$CORE"
       done
done

Пример вывода:

Node #0
       Core #0
       Core #1
       Core #2
       Core #3
       Core #8
       Core #9
       Core #10
       Core #11
Node #1
       Core #4
       Core #5
       Core #6
       Core #7
       Core #12
       Core #13
       Core #14
       Core #15

Или так:

numactl --hardware | grep cpus

node 0 cpus: 0 1 2 3 4 5 12 13 14 15 16 17
node 1 cpus: 6 7 8 9 10 11 18 19 20 21 22 23

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.