Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: lug-bg: Intel E1000 driver tunning


  • Subject: Re: lug-bg: Intel E1000 driver tunning
  • From: Vasil Kolev <vasil@xxxxxxxxxx>
  • Date: Thu, 08 Jun 2006 23:23:37 +0300
  • Delivered-to: lug-bg-list@xxxxxxxxxxxxxxxxxx
  • Delivered-to: lug-bg@xxxxxxxxxxxxxxxxxx

В чт, 2006-06-08 в 23:34 +0300, Daniel Ivanov написа:
> Има машина през която минава трафика на клиенти(1000+), шейпи се и 
> евентуално НАТ-ва.
> Всичко ток и жица, обаче в един прекрасен момент packet interrupting се 
> вдига непоносимо. Изяжда целия процесор.
> На около 280000 пакета/секунда се уцеща забавяне в работата(network 
> delays) и idle-а отива на ~5%.
> 
> 0000:02:09.0 Ethernet controller: Intel Corp. 82541GI/PI Gigabit 
> Ethernet Controller
> 0000:02:0c.0 Ethernet controller: Intel Corp. 82545GM Gigabit Ethernet 
> Controller (rev 04)
> 
> Това са двата важни interface-a, през които минава трафика.
> 
> Досегашен investigation определи мрежовите карти като източник на 
> небивалите прекъсвания.
> Опитах с и без NAPI на е1000 driver-a. В момента е без NAPI и с 
> ITR=3200,3000.
> Някой има ли идеи как да се намали натоварването на процесора.
> Ориентировъчен трафик при 280000 пакета - 190мбит/с. Машината е 
> p4(northwood) @ 2.8Ghz с 2GB ram.
> 
> Евентуални процедури оттук нататък са изместването на NAT-a от реално 
> адресиране или NATting-а да се прави на друга машина, за да изключа 
> connection tracking-a на тази. Пакетите минават по минимален път и 
> попадат в HTB+esfq qdiscs.
> 

Хм. Моите наблюдения, докато мизерствах да реализирам нещо директно в
e1000 драйвера бяха, че receive interrupt-ите с NAPI никакъв проблем не
са (реално картата може да поема 1gbps на малки пакети на wirespeed), но
изпращането и разказва играта. Така и не намерих време да го боря
проблема, но моите идеи са в общи линии следните:
1) NAPI. без него е бая зле.
2) Сложи profiling, по някога nat-а може да е убийствен (поне според
мене той т е проблема).
3) Има мръсни трикове за наместване на txinterrupt-и и rxinterrupt-и,
може да си поиграеш с тях.
4) Колко процесора имаш, и какви? Може да се правят номера с
hyperthreading-а и разхвърлянето на едната карта на едното парче от
единия процесор, другата - на другото, понеже в крайна сметка shаre-ват
cache.

Attachment: signature.asc
Description: =?iso-8859-5?Q?=C2=DE=D2=D0?= =?iso-8859-5?Q?_=D5?= =?iso-8859-5?Q?_=E6=D8=E4=E0=DE=D2=DE?= =?iso-8859-5?Q?_=DF=DE=D4=DF=D8=E1=D0=DD=D0?= =?iso-8859-5?Q?_=E7=D0=E1=E2?= =?iso-8859-5?Q?_=DE=E2?= =?iso-8859-5?Q?_=DF=D8=E1=DC=DE=E2=DE?=



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.