❗️Toto je původní verze internetového fóra ISPforum.cz do února 2020 bez možnosti registrace nových uživatelů. Aktivní verzi fóra naleznete na adrese https://telekomunikace.cz

Intel I211 - smp_affinity

Příspěvky, které nespadají do žádného z vytvořených fór.
Neuro
Příspěvky: 59
Registrován: 13 years ago

Intel I211 - smp_affinity

Příspěvekod Neuro » 7 years ago

Zdravím,
už si pár dní lámu hlavu s ALIX2d2 boardem, stavím si na tom linuxové routříky, líbí se mi stabilita, spotřeba .. ale abych z toho vytáhl co potřebuji, musím tam uchodit funkční rozdělení front síťovek na ty 4 jádra co to má. Takže vypnuté irqbalance, nastaveno:

Kód: Vybrat vše

#eth0
echo 8 > /proc/irq/34/smp_affinity
echo 8 > /proc/irq/35/smp_affinity
echo 4 > /proc/irq/36/smp_affinity
echo 2 > /proc/irq/37/smp_affinity
echo 1 > /proc/irq/38/smp_affinity
#eth1
echo 8 > /proc/irq/40/smp_affinity
echo 4 > /proc/irq/41/smp_affinity
echo 8 > /proc/irq/42/smp_affinity
echo 1 > /proc/irq/43/smp_affinity
echo 2 > /proc/irq/44/smp_affinity

ale ne a ne uchodit, aby se mi příchozí tok rozdělovat na ty dvě RX fronty, všechno padá do eth0-rx-0:

Kód: Vybrat vše

            CPU0       CPU1       CPU2       CPU3       
  34:          1          0          0          0   PCI-MSI-edge      eth0
  35:          0          1          0      36549   PCI-MSI-edge      eth0-rx-0
  36:          0          0        462          1   PCI-MSI-edge      eth0-rx-1
  37:          0      16505          2          0   PCI-MSI-edge      eth0-tx-0
  38:      19295          1          0          0   PCI-MSI-edge      eth0-tx-1
  40:          0          0          0          0   PCI-MSI-edge      eth1
  41:          1          0        460          1   PCI-MSI-edge      eth1-rx-0
  42:          0          0          1        461   PCI-MSI-edge      eth1-rx-1
  43:        460          1          1          0   PCI-MSI-edge      eth1-tx-0
  44:          1        461          0          0   PCI-MSI-edge      eth1-tx-1

Testuji to tak, že cca z 5 mašin ze sítě opingávám eth0. Ještě je tu jedna podivnost - o rozdělování RX front by se měla starat RSS hash funkce síťovky (mimochodem, přenastavení vah přes ethtool -X nemá žádný vliv), ale ethtool -x nedokáže načíst ze síťovky RSS hash key .. což by mohl být celý zádrhel, ale nevím co s tím dál:

Kód: Vybrat vše

RX flow hash indirection table for eth0 with 2 RX ring(s):
    0:      0     1     0     1     0     1     0     1
    8:      0     1     0     1     0     1     0     1
   16:      0     1     0     1     0     1     0     1
   24:      0     1     0     1     0     1     0     1
   32:      0     1     0     1     0     1     0     1
   40:      0     1     0     1     0     1     0     1
   48:      0     1     0     1     0     1     0     1
   56:      0     1     0     1     0     1     0     1
   64:      0     1     0     1     0     1     0     1
   72:      0     1     0     1     0     1     0     1
   80:      0     1     0     1     0     1     0     1
   88:      0     1     0     1     0     1     0     1
   96:      0     1     0     1     0     1     0     1
  104:      0     1     0     1     0     1     0     1
  112:      0     1     0     1     0     1     0     1
  120:      0     1     0     1     0     1     0     1
RSS hash key:
Operation not supported
RSS hash function:
    toeplitz: on
    xor: off
    crc32: off

Nelaboroval jste s tím někdo ?
Dík.
Neuro
0 x

Dalibor Toman
Příspěvky: 1246
Registrován: 12 years ago

Příspěvekod Dalibor Toman » 7 years ago

otazka je zda ICMP je vubec nejak mezi frontama vvyvazovan:

ethtool -n|-u|--show-nfc|--show-ntuple DEVNAME Show Rx network flow classification options or rules
[ rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|tcp6|udp6|ah6|esp6|sctp6 |
0 x

Neuro
Příspěvky: 59
Registrován: 13 years ago

Příspěvekod Neuro » 7 years ago

Je .. je to vidět na IRQ 37 a 38, eth0-tx-0 a eth0-tx-1 jsou celkem vyvážené ..

Přes ethtool -N se nastavuje RPS (SW implementace RSS), já bych to radši uchodil s RSS, když to ty Intely podporují. RPS je určeno jestli to chápu dobře hlavně pro síťovky bez front ..

Teď jsem tu mašinku hodil do ostrého provozu a chová se to celé nějak divně - regulérně se rozděluje provoz jen mezi eth0-tx-0 a eth0-tx-1, na eth1 vše padá do eth1-tx-0 a co se RX týká, tak na eth0 i eth1 padá vše do fronty 0 ..
0 x