LINUX.ORG.RU

Сетевые карты - различия


0

0

Вот у меня сетевуха realtek 8139 (да, знаю что говно). При входящем трафике ~10мб/с загрузка проца в software interrupt ~20-30% на celeron1.7. В ноуте (p3m-1000) сетевуха intel, при таком же трафике загрузка меньше в разы.

Просто интересно - что хорошие сетевухи (типа интела) делают "в железе" чего не делают плохие, что так снижает нагрузку на проц?

★★

Ответ на: комментарий от e

Если да, то присоединяюсь к вопросу и дополняю: какие из сетевушек на 100М (тут главное не 100, а PCI) нормально держат поллинг и вообще не грузят проц?

e
()
Ответ на: комментарий от e

> Линукс там и там?

Разумеется. Даже ядро одно и то же.

slav ★★
() автор топика

scatter/gather DMA, может, рингбуфер.

sf ★★★
()
Ответ на: комментарий от e

> какие из сетевушек на 100М (тут главное не 100, а PCI) нормально держат поллинг и вообще не грузят проц?

d-link одно время юзал - вполне нормальные железяки.

isden ★★★★★
()
Ответ на: комментарий от isden

Они нужны на сервак старенький, так шиной только PCI,в чем и жопа, даже при вырубленном в модулях PIO-режиме - проц в 1ГГц с реалтеками асиливает максимум 5 Mb/s (мегабайт) входящего трафика при работе с NFS, хз в чем тут дело - но факт. Рядом же болтается пролиант на оптеронах с броадкомами на pci-x, там загрузка вообще близкая к нулю - ибо NAPI включен.

Для 100мбиток NAPI в ядре я не нашел, думаю брать гигабитку Интель на PCI и принудительно ей выставлять сотню.

Либо я сильно ударился в недалеком прошлом и делаю все капитально не так как полагается...

e
()
Ответ на: комментарий от isden

>> какие из сетевушек на 100М (тут главное не 100, а PCI) нормально держат поллинг
А разве поллинг в линуксе есть?

anonymous
()
Ответ на: комментарий от e

Это особенности реализации в железе криворукими китайскими инженерами из реалтека. Практически любая другая сетевуха жрёт проца на порядок меньше, будь это хоть via, хоть intel, хоть 3com. У дорогих, впридачу, часть функций типа там подсчета контрольных сумм в железе реализовано.

dn2010 ★★★★★
()
Ответ на: комментарий от isden

> d-link одно время юзал - вполне нормальные железяки.

Вот упоминавшаяся выше на 8139 чипе (которая грузит проц сильно) как раз d-link. Так что я бы не сказал что "вполне нормальные"... Может они были нормальными пока на своих чипах делали...

slav ★★
() автор топика

Кстати, раз речь зашла о выборе сетевухи: что посоветуете из недорогого (~15$)(хочу реалтек на что-то понормальнее заментить)? Фактически выбор получается между intel и 3com...

slav ★★
() автор топика
Ответ на: комментарий от dn2010

> Это особенности реализации в железе криворукими китайскими инженерами из реалтека. Практически любая другая сетевуха жрёт проца на порядок меньше, будь это хоть via, хоть intel, хоть 3com. У дорогих, впридачу, часть функций типа там подсчета контрольных сумм в железе реализовано.

На цену мне практически наплевать (пара сетевух по <30-40 баксов - нормально), лишь бы в PCI влезало и проц не грузило. Стоит ли брать 3com вообще и какую из 905c-серии в частности? Народ пишет, что бываю странные глюки и советует брать Интель.

e
()
Ответ на: комментарий от slav

Недавно с соседом устраивали перформанц тест... взяли несколько сетевух и грузили их при помощи netperf . После чего решили соседский реалтек заменить..... 3комы к сожалению оказался слишком навароченным и дорогим ( с шифрованием о подобными фичами которые дома не используються), короче взял интел... работает. Из нами проведенном тесте могу сказать, что даже старенький 3ком бьет новый реалтек без напряга...  К примеру lspci -vv дает:

01:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
        Subsystem: Realtek Semiconductor Co., Ltd. RT8139
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-

01:0b.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 30)
        Subsystem: 3Com Corporation 3C905B Fast Etherlink XL 10/100
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-

00:09.0 Ethernet controller: Intel Corporation 82557/8/9 [Ethernet Pro 100] (rev 08)
        Subsystem: Intel Corporation EtherExpress PRO/100+ Management Adapter
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-



Разница между ними MemWINV (Memory Write Invalidate) у 3ком и Интел включен.

Memory Write Invalidate (MWI).
                                Enables the Chip's Memory Write Invalidate PCI command
                                which is semantically identical to the Memory
                                Write command except that it additionally guarantees
                                a minimum transfer of one complete cacheline; i.e.,
                                the master may intends to write all bytes within the
                                addressed cacheline in a singlePCI transaction unless
                                interrupted by the target.

Хммм .... меньше прерываний звучит хорошо :)
Хочу заметить ч в тесте apic  сыграл очень большое значение.... при выключеном апике 3ком грузил проц в два раза больше.  

Еще есть опция FastB2B ( Fast Back-to-Back ).... на сколько сильное значение это играет я еще не знаю... кто знает делитесь. :)





fishor
()
Ответ на: комментарий от slav

> Вот упоминавшаяся выше на 8139 чипе (которая грузит проц сильно) как раз d-link. Так что я бы не сказал что "вполне нормальные"... Может они были нормальными пока на своих чипах делали...

хм. незнал что они и на этом делают..
имевшаяся ввиду карточка на via rhine :)

isden ★★★★★
()
Ответ на: комментарий от fishor

Чтобы понять правильно нужно выполнить ethtool -k ethX на каждую карточку, вот тогда вы разницу действительно увидите.

Драйверы Дональда Беккера лучше не использовать. Карточки лучше Intel, если 100Мбитная, то только e100 (написан Intel, имеет NAPI) драйвер, а не eepro100 (написан Беккером, работал через PIO).

saper ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.