Jump to content
Калькуляторы

Linux softrouter

Где-то здесь на форуме пробегала тема, где народ роутил линуксом 10-20-30...100500Гбит

может быть это?

Share this post


Link to post
Share on other sites

Где-то здесь на форуме пробегала тема, где народ роутил линуксом 10-20-30...100500Гбит

может быть это?

 

Не, это находил, старенький топик. Был посвежее и цифры посолиднее. Автор еще на мыло рассылал самописный модуль.

Share this post


Link to post
Share on other sites

Подскажите, есть ли смысл в увеличении ring для TX?

Или это актуально только для RX при появлении ошибок rx_no_buffer_count?

Share this post


Link to post
Share on other sites

Увеличивают всегда и то и то, но вообще

актуально только для RX при появлении ошибок rx_no_buffer_count

Ибо tx очередь как таковая не наполняется, там затрат на обработку почти нет.

Share this post


Link to post
Share on other sites

Ибо tx очередь как таковая не наполняется

Это врядли. Например имеем 2 бонда по 4 интерфейса, в особых случаях пришедший с 4 интерфейсов трафик может быть отправлен в 1 физический интерфейс на другом бонде. И вне зависимости как быстро выполняется обработка окончания передачи, дескриптор будет висеть пока данные не будут отправлены. Кроме этого, при наличии scatter-gather даже на один пакет может быть приходиться несколько дескрипторов.

Share this post


Link to post
Share on other sites

Ну так и какие реальные рекомендации?

Оставлять TX ring в 256 или поднимать как RX?

Share this post


Link to post
Share on other sites

Поднимайте как RX, перерасхода памяти или дополнительных глюков это не вызовет.

Share this post


Link to post
Share on other sites

Сегодня меня порадовали штатные сетевки BCM5709 моего HPшного сервера DL380.

Крутые чипы, умеют MSI-X, делают число очередей по числу ядер. Точнее это я так думал :)

Пока ядер в машине было 4(1cpu) очередей было по 4шт на адаптер. Когда стало 8(добавили CPU) - очередей стало 8, все логично.

Но вот сегодня заменил 2х 4ех ядерных CPU на 1х 6ти ядерный и броадком сделал мой день. Очередей стало по 7 штук.

Цинизма ситуации добавляет то, что количеством очередей управлять нельзя. Можно только включить/выключить MSI полностью.

 

[root@ipoe1 ~]# cat /proc/interrupts | grep eth
 74:     941588          0      23155          0          0          0   PCI-MSI-edge      eth0-0
 75:         70  250645494          0          0    4894586          0   PCI-MSI-edge      eth0-1
 76:     586069          0  150075078          0          0          0   PCI-MSI-edge      eth0-2
 77:     687544          0          0  134541331          0          0   PCI-MSI-edge      eth0-3
 78:         39          0     668541          0  143818168          0   PCI-MSI-edge      eth0-4
 79:          6          0          0          0    1215911  142447902   PCI-MSI-edge      eth0-5
 80:  138475583          0          0          0          0    1254841   PCI-MSI-edge      eth0-6
 82:     982869          0          0          0          0          0   PCI-MSI-edge      eth1-0
 83:        135  261569721          0          0          0    5095686   PCI-MSI-edge      eth1-1
 84:        114     595709  152196358          0          0          0   PCI-MSI-edge      eth1-2
 85:         64          0          0  144772805          0          0   PCI-MSI-edge      eth1-3
 86:     836502          0          0          0  152250494          0   PCI-MSI-edge      eth1-4
 87:    1696092          0          0          0          0  146896006   PCI-MSI-edge      eth1-5
 88:  138492441          0          0          0    2109190    1213590   PCI-MSI-edge      eth1-6
 90:     955325      14946          0          0          0          0   PCI-MSI-edge      eth2-0
 91:    1346849  176142245          0          0          0          0   PCI-MSI-edge      eth2-1
 92:    4322452          0  279170750          0          0          0   PCI-MSI-edge      eth2-2
 93:        178          0    1079626  166525405          0          0   PCI-MSI-edge      eth2-3
 94:    1017196          0          0          0  171106298          0   PCI-MSI-edge      eth2-4
 95:        337          0          0          0    1523676  175286444   PCI-MSI-edge      eth2-5
 96:  164811076          0          0    2725075    1221933          0   PCI-MSI-edge      eth2-6
 98:    1343966          0          0          0          0          0   PCI-MSI-edge      eth3-0
 99:     914062  135097885          0          0          0          0   PCI-MSI-edge      eth3-1
100:    4309222          0  240459219          0          0          0   PCI-MSI-edge      eth3-2
101:        314     877676          0  133869653          0          0   PCI-MSI-edge      eth3-3
102:        288          0          0    1072857  137855634          0   PCI-MSI-edge      eth3-4
103:    2012560          0          0          0          0  133370739   PCI-MSI-edge      eth3-5
104:  133013777          0    1848586          0          0    1038849   PCI-MSI-edge      eth3-6

[root@ipoe1 ~]# cat /proc/cpuinfo | grep processor
processor       : 0
processor       : 1
processor       : 2
processor       : 3
processor       : 4
processor       : 5

Edited by kayot

Share this post


Link to post
Share on other sites

Кто знает как такое лечится? )

 

kyoukai ~ # cat /proc/interrupts | grep eth
 17: 3250253085          0   IO-APIC-fasteoi   eth1
 73:  100101389          0   PCI-MSI-edge      eth0

Share this post


Link to post
Share on other sites

BIOS попробовать обновить, dmesg почитать (должно же быть что-то из-за чего сетевка не заюзала MSI). Что за карточки и мамка кстати?

Share this post


Link to post
Share on other sites

Ну так и какие реальные рекомендации?

Оставлять TX ring в 256 или поднимать как RX?

Сорри только увидел вашу мессагу.

Особой разницы нет. Имхо есть смысл поднимать если есть на выхлоп ошибки в ethtool -s ethxxx или tc -s -d qdisc show dev ethXXX

Share this post


Link to post
Share on other sites

Кто знает как такое лечится? )

 

kyoukai ~ # cat /proc/interrupts | grep eth
 17: 3250253085          0   IO-APIC-fasteoi   eth1
 73:  100101389          0   PCI-MSI-edge      eth0

А зачем его лечить? eth1 вероятно какая-то старая бортовая хрень, и MSI не умеет.

Share this post


Link to post
Share on other sites

Кто знает как такое лечится? )

 

kyoukai ~ # cat /proc/interrupts | grep eth

17: 3250253085 0 IO-APIC-fasteoi eth1

73: 100101389 0 PCI-MSI-edge eth0

 

Еще бы рядышком было бы неплохо приложить результат

 

lspci | grep Ether

Share this post


Link to post
Share on other sites

сетевки обе бортовые,

мать INTEL S3000AH

 

kyoukai ~ # lspci | grep Ether
04:00.0 Ethernet controller: Intel Corporation 82573E Gigabit Ethernet Controller (Copper) (rev 03)
05:05.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05)

 

прикольно, там че две сетевые на борту разные? или ядро криво их определило?

 

внатуре на мамке две разные сетевые

Intel®

82541PI NIC Controller

 

Intel®

82573E NIC Controller

смотрел по документации тута http://download.intel.com/support/motherboards/server/s3000ah/sb/d72579003_s3000ah_tps_1_4.pdf

Edited by zulu_radist

Share this post


Link to post
Share on other sites

zulu_radist

Сетевки у вас разные, многие вендоры так делают зачем-то. 573e более-менее современный pci-e чип с поддержкой MSI, а 541GI древний(работающий на pci, или DMI) и MSI не поддерживает.

Share this post


Link to post
Share on other sites

кароч я так понял надо купить отдельно сетевку двухпортовую типа intel ET 82576 и не мучать моск?

Share this post


Link to post
Share on other sites

Кто-нибудь уже испытал ядрышко 3.12.4?? Есть ли смысл ставить в бой???

Share this post


Link to post
Share on other sites

Кто-нибудь уже испытал ядрышко 3.12.4?? Есть ли смысл ставить в бой???

 

3.12.0/1/2/3 в неведомый момент (в моем конкретном случае не так часто - раз в 1-2 недели) вылетают с ошибкой распределения памяти для conntrack при conntrack_count ~130k. В остальном вроде бы едет.

Share this post


Link to post
Share on other sites

Кто-нибудь уже испытал ядрышко 3.12.4?? Есть ли смысл ставить в бой???

 

На роутере не заметно разницы с 3.10.x

Все те же проблемы.

Share this post


Link to post
Share on other sites

Кто-нибудь уже испытал ядрышко 3.12.4?? Есть ли смысл ставить в бой???

 

На роутере не заметно разницы с 3.10.x

Все те же проблемы.

Что за проблемы?? у меня 3.11.6, вроде проблем нет с ним

Share this post


Link to post
Share on other sites

Други, подскажите, как лучше.

Есть роутер (NAS), две двухпортовые сетевухи Intel 82576 и 6-ти ядерный процессор. Нужно сагрегировать в LACP по два порта и распределить прерывания. Пока сделано так, что порты одной сетевухи сагрегированы друг с другом, на все четыре интерфейса по шесть очередей, на каждое ядро по очереди каждого интерфейса (получается четыре очереди с каждого интерфейса на ядро), очереди RxTx объединенные.

Так и оставить или не самый лучший вариант?

Share this post


Link to post
Share on other sites

Други, подскажите, как лучше.

Есть роутер (NAS), две двухпортовые сетевухи Intel 82576 и 6-ти ядерный процессор. Нужно сагрегировать в LACP по два порта и распределить прерывания. Пока сделано так, что порты одной сетевухи сагрегированы друг с другом, на все четыре интерфейса по шесть очередей, на каждое ядро по очереди каждого интерфейса (получается четыре очереди с каждого интерфейса на ядро), очереди RxTx объединенные.

Так и оставить или не самый лучший вариант?

 

ИМХО, по идее работоспособный вариант. У самого есть нечто подобное, правда на 4-х ядрах. По личному наблюдению, плохо когда одна очередь/прерывание болтается на разных ядрах. Где-то тут на форуме обсуждали и про вымывание кешей, и про другие тонкости.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now