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

Linux NAT оптимизация для 10G+ трафика

да вроде какие-то патчи на LRO проскакивали недавно...

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


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

gso, gro

но не tso

В том смысле, что TSO не улучшит ситуацию? или что надо отключать его вообще? Если я правильно понимаю, TSO не помогает в маршрутизации, а только в случае наличия на хосте каких-то TCP сервисов, так?

И не совсем понятно насколько включение этих вещей увеличит задержку прохождения пакетов через этот NAT? А то у нас эпизодически "танкисты" начинают жаловаться, что у них что-то где-то удлиняется :)

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


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

tso создаст кучу глюков как минимум, если у вас есть где-то измененный mtu (pptp/pppoe, туннели). Кроме того у меня были случаи, когда расплющивало сетевуху (e1000, набортная на сервере, она просто висла) при включенном tso.

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


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

да вроде какие-то патчи на LRO проскакивали недавно...

Что-то я нашел патч, один из последних, который отключает LRO по умолчанию в драйвере ixgbe, в описании сказано, что "LRO is incompatible with forwarding and is disabled when forwarding is turned on"

Поэтому какие-то сомнения насчет улучшения с помощью этой штуки...

 

tso создаст кучу глюков как минимум, если у вас есть где-то измененный mtu (pptp/pppoe, туннели). Кроме того у меня были случаи, когда расплющивало сетевуху (e1000, набортная на сервере, она просто висла) при включенном tso.

L2TP туннели есть, но NAT после терминации туннеля, где фрагментированные пакеты собираются опять в нормальные с MTU 1500 ... а какого рода глюки? может я просто не задумывался о каких-то особенностях?

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


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

где-то на BRAS есть TCP MSS fix? правда часто оно делается неочевидно

 

Смысл в том, что NAT с tso пересобирает пакеты с mtu 1500, вопреки тому, что соединение было установлено с mss < 1500. Ну и в обратную сторону(если в инете что-то с mtu < 1500) на это граблю можно наступить, хотя и реже.

 

Если вы доступ клиентам делаете через l2tp - то обычно где-то есть TCP MSS fix, чтобы пакеты от сайтов влезали в туннель.

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


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

Настраиваю сервер под NAT. Две сетевые карты (Intel 82575EB) по гигабиту. Одна сетевка смотрит в сторону бордера, другая в сеть с абонентами. Процессор на 4 ядра, для каждой сетевой карты создаю 4 очереди и прибиваю их к разным ядрам. На тестовом стенде заметил, что трафик почти не раскидывается по исходящим очередям. Львиная доля такого трафика идёт в одну очередь. Обновил драйвера для сетевух, но ситуация не поменялась.

 

root@rl-nat1:~# lspci | grep Ethernet
08:00.0 Ethernet controller: Intel Corporation 82575EB Gigabit Network Connection (rev 02)
08:00.1 Ethernet controller: Intel Corporation 82575EB Gigabit Network Connection (rev 02)

root@rl-nat1:~# modinfo igb | grep version
version:        5.3.3.5
srcversion:     6B32E7B42A41AB0CD6FAE06
vermagic:       3.16.0-4-amd64 SMP mod_unload modversions

root@rl-nat1:~# cat /proc/interrupts | grep eth
 64:          0          0          1          0   PCI-MSI-edge      eth0
 65:      34309          1          0          0   PCI-MSI-edge      eth0-TxRx-0
 66:          0      25596          1          1   PCI-MSI-edge      eth0-TxRx-1
 67:          1          1     168587          0   PCI-MSI-edge      eth0-TxRx-2
 68:          0          0          1      31182   PCI-MSI-edge      eth0-TxRx-3
 69:          0          1          0          0   PCI-MSI-edge      eth1
 70:      31506          1          0          0   PCI-MSI-edge      eth1-TxRx-0
 71:          0      23928          1          1   PCI-MSI-edge      eth1-TxRx-1
 72:          1          1     159892          0   PCI-MSI-edge      eth1-TxRx-2
 73:          0          0          1      31154   PCI-MSI-edge      eth1-TxRx-3

Видно, что очередь с номером 2 с самым большим счетчиком, т.к. туда и уходит весь исходящий трафик. Сейчас очереди гибридные, до обновления драйвера очереди для tx,rx были разнесены отдельно на стандартном драйвере Debian 8. Там было хорошо видно, что идёт дикий перекос в tx очередях.

 

По какому критерию распределяются исходящие очереди для пакетов и как можно распределить эти очереди равномерно?

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

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


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

В том смысле, что TSO не улучшит ситуацию? или что надо отключать его вообще? Если я правильно понимаю, TSO не помогает в маршрутизации, а только в случае наличия на хосте каких-то TCP сервисов, так?

Правильно.

TSO нужно чтобы серверу было легче отдавать и принимать файлы, когда он собственно сам и процессит TCP, а когда оно идёт транзитом то обработка TCP на сетевухе нахер никому не впёрлась.

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


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

rps/rfs настроить.

Пробовал включать RFS XPS. Трафик равномерно распределяется по tx очередям. Т.е. это нормальное поведение, что исходящие очереди так грузятся без RFS XPS?

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

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


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

crank

Где вы видели 'исходящие очереди'? Очереди у вас как раз таки совмещенные, а в proc/interrupts показана кривая балансировка для входящего трафика.

Видать условия теста кривые(мало src/dst ip/mac), потому и криво распределяется. В рабочем режиме, да если там IP трафик(нет инкапсуляций типа pppoe), все будет ок.

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


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

Пробовал включать XPS. Трафик равномерно распределяется по tx очередям

1) трафик по очередям от этого не распределится. это - обработка трафика ядрами уже после получения его ядром. работает и для сетевух без каких-либо очередей.

2) XPS - фича в общем-то малополезная, в tx контексте почти ничего не исполняется - тупо пакет в буфер выплевывается. вся обработка - в rx.

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


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

NiTr0

Спасибо за разъяснения.

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


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

Заметил еще, что на сервере с Xeon E5 в perf top появилась irq_entries_start, при большой нагрузке вырывается на второе место. Что это такое и откуда?

 

И еще вот такой spin_lock, которого нет на сервере с Xeon E3:

 

- 2.68% 2.68% [kernel] [k] _raw_spin_lock

- _raw_spin_lock

+ 80.25% sch_direct_xmit

+ 7.69% __dev_queue_xmit

+ 2.63% handle_edge_irq

+ 1.60% get_next_timer_interrupt

+ 1.52% handle_irq

+ 1.28% handle_irq_event

+ 0.81% mod_timer

Что такое sch_direct_xmit и зачем оно хочет spin_lock?

 

Сразу говорю, что на серверах абсолютно одинаковые ядра 4.1.16, собранные с MCORE=y, одинаковые драйвера ixgbe, собранные под это ядро.

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


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

Всякие SRVIO/VT-d надеюсь отключили? Может стоит поиграться настройками в биосе.

Иногда еще бывает чипсет с "багом" и к примеру PCI Express payload меньше нормы, на десятигиговые карты может здорово влиять.

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


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

SRVIO/VT-x конечно же отключил, прерывания не remapped. по поводу PCI Express payload - а можно ли как-то продиагностировать это без входа в биос? А то прям сейчас это немного нетривиальная задача, нагрузку временно некуда убрать.

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


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

lspci -vvv

DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s unlimited, L1 <1us

ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-

DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported-

RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+

MaxPayload 128 bytes, MaxReadReq 512 bytes

 

Запамятовал, оно оказывается MaxReadReq

Ну и посмотреть заодно ширину шины и т.п.

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


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

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

Вот еще кстати неплохие советы по тюнингу http://www.mellanox.com/related-docs/prod_software/Performance_Tuning_Guide_for_Mellanox_Network_Adapters.pdf

Может кому пригодится (необязательно для их карты - советы хороши для любых карт)

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


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

Для сервера на Е5 вот такие параметры:

DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us

ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+

DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+

RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-

MaxPayload 256 bytes, MaxReadReq 512 bytes

Для Е3 при этом:

DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us

ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+

DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+

RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-

MaxPayload 128 bytes, MaxReadReq 512 bytes

 

Интересно, почему разные значения MaxPayload и что они означают? В БИОС есть настройки, выставил 4096,ничего не изменилось

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


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

Это может быть ограничение чипсета сетевухи или материнки/проца.

А сетевухи сравнивали?

ethtool -i ethX и собственно полный дескрипшн в lspci -vvv

У вас вообще все наоборот должно было бы быть, если в этом дело.

 

Вот к примеру у меня десятка:

02:00.1 Ethernet controller: Intel Corporation 82599EB 10-Gigabit Network Connection (rev 01)
Subsystem: Intel Corporation Ethernet Server Adapter X520-2
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin B routed to IRQ 18
Region 0: Memory at c1a80000 (64-bit, non-prefetchable) [size=512K]
Region 2: I/O ports at 4000 [size=32]
Region 4: Memory at c1c00000 (64-bit, non-prefetchable) [size=16K]
Expansion ROM at c1a00000 [disabled] [size=512K]
Capabilities: [40] Power Management version 3
	Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)
	Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
	Address: 0000000000000000  Data: 0000
	Masking: 00000000  Pending: 00000000
Capabilities: [70] MSI-X: Enable+ Count=64 Masked-
	Vector table: BAR=4 offset=00000000
	PBA: BAR=4 offset=00002000
Capabilities: [a0] Express (v2) Endpoint, MSI 00
	DevCap:	MaxPayload 512 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
		ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+
	DevCtl:	Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
		RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
		MaxPayload 128 bytes, MaxReadReq 512 bytes
	DevSta:	CorrErr- UncorrErr- FatalErr+ UnsuppReq+ AuxPwr- TransPend-
	LnkCap:	Port #1, Speed 5GT/s, Width x8, ASPM L0s, Exit Latency L0s <1us, L1 <8us
		ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
	LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- CommClk+
		ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
	LnkSta:	Speed 5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
	DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR-, OBFF Not Supported
	DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
	LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
		 EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [100 v1] Advanced Error Reporting
	UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
	UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
	UESvrt:	DLP+ SDES- TLP+ FCP+ CmpltTO+ CmpltAbrt+ UnxCmplt+ RxOF+ MalfTLP+ ECRC+ UnsupReq+ ACSViol-
	CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
	CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
	AERCap:	First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
Capabilities: [140 v1] Device Serial Number замаскировать
Capabilities: [150 v1] Alternative Routing-ID Interpretation (ARI)
	ARICap:	MFVC- ACS-, Next Function: 0
	ARICtl:	MFVC- ACS-, Function Group: 0
Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV)
	IOVCap:	Migration-, Interrupt Message Number: 000
	IOVCtl:	Enable- Migration- Interrupt- MSE- ARIHierarchy-
	IOVSta:	Migration-
	Initial VFs: 64, Total VFs: 64, Number of VFs: 0, Function Dependency Link: 01
	VF offset: 384, stride: 2, Device ID: 10ed
	Supported Page Size: 00000553, System Page Size: 00000001
	Region 0: Memory at 00000000c1d20000 (64-bit, non-prefetchable)
	Region 3: Memory at 00000000c1c20000 (64-bit, non-prefetchable)
	VF Migration: offset: 00000000, BIR: 0
Kernel driver in use: ixgbe

Обратите внимание на слово замаскировать, если маки светить не хотите.

К примеру из интересного:

 

Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+

Address: 0000000000000000 Data: 0000

Masking: 00000000 Pending: 00000000

Capabilities: [70] MSI-X: Enable+ Count=64 Masked-

Vector table: BAR=4 offset=00000000

PBA: BAR=4 offset=00002000

И т.п.

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


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

Для Е5:

driver: ixgbe
version: 4.3.13
firmware-version: 0x61c10001
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

02:00.1 Ethernet controller: Intel(R) 82599 10 Gigabit Dual Port Network Connection (rev 01)
       Subsystem: Intel(R) Ethernet Server Adapter X520-2
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Interrupt: pin B routed to IRQ 64
       Region 0: Memory at fa600000 (64-bit, prefetchable) [size=512K]
       Region 2: I/O ports at e000 [size=32]
       Region 4: Memory at fa700000 (64-bit, prefetchable) [size=16K]
       Capabilities: [40] Power Management version 3
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)
               Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
       Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
               Address: 0000000000000000  Data: 0000
               Masking: 00000000  Pending: 00000000
       Capabilities: [70] MSI-X: Enable+ Count=64 Masked-
               Vector table: BAR=4 offset=00000000
               PBA: BAR=4 offset=00002000
       Capabilities: [a0] Express (v2) Endpoint, MSI 00
               DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+
               DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
                       MaxPayload 256 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr- TransPend-
               LnkCap: Port #0, Speed 5GT/s, Width x8, ASPM L0s, Latency L0 <1us, L1 <8us
                       ClockPM- Surprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
               DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR-, OBFF Not Supported
               DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
               LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                        EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
       Capabilities: [100 v1] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
               UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
               CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
               AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
       Capabilities: [140 v1] Device Serial Number скрыто
       Capabilities: [150 v1] Alternative Routing-ID Interpretation (ARI)
               ARICap: MFVC- ACS-, Next Function: 0
               ARICtl: MFVC- ACS-, Function Group: 0
       Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV)
               IOVCap: Migration-, Interrupt Message Number: 000
               IOVCtl: Enable- Migration- Interrupt- MSE- ARIHierarchy-
               IOVSta: Migration-
               Initial VFs: 64, Total VFs: 64, Number of VFs: 64, Function Dependency Link: 01
               VF offset: 128, stride: 2, Device ID: 10ed
               Supported Page Size: 00000553, System Page Size: 00000001
               Region 0: Memory at 00000000fba00000 (64-bit, non-prefetchable)
               Region 3: Memory at 00000000fb900000 (64-bit, non-prefetchable)
               VF Migration: offset: 00000000, BIR: 0
       Kernel driver in use: ixgbe

Для Е3:

driver: ixgbe
version: 4.3.13
firmware-version: 0x18b30001
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

02:00.0 Ethernet controller: Intel(R) 82599 10 Gigabit Dual Port Network Connection (rev 01)
       Subsystem: Intel(R) Ethernet Server Adapter X520-2
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Interrupt: pin A routed to IRQ 17
       Region 0: Memory at de080000 (64-bit, prefetchable) [size=512K]
       Region 2: I/O ports at e020 [size=32]
       Region 4: Memory at de104000 (64-bit, prefetchable) [size=16K]
       Capabilities: [40] Power Management version 3
               Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)
               Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
       Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
               Address: 0000000000000000  Data: 0000
               Masking: 00000000  Pending: 00000000
       Capabilities: [70] MSI-X: Enable+ Count=64 Masked-
               Vector table: BAR=4 offset=00000000
               PBA: BAR=4 offset=00002000
       Capabilities: [a0] Express (v2) Endpoint, MSI 00
               DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+
               DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
                       RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
                       MaxPayload 128 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr- TransPend-
               LnkCap: Port #1, Speed 5GT/s, Width x8, ASPM L0s, Latency L0 <1us, L1 <8us
                       ClockPM- Surprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
               DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR-, OBFF Not Supported
               DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
               LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
                        Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                        Compliance De-emphasis: -6dB
               LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                        EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
       Capabilities: [100 v1] Advanced Error Reporting
               UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
               UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
               UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
               CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
               CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
               AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
       Capabilities: [140 v1] Device Serial Number скрыто
       Capabilities: [150 v1] Alternative Routing-ID Interpretation (ARI)
               ARICap: MFVC- ACS-, Next Function: 1
               ARICtl: MFVC- ACS-, Function Group: 0
       Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV)
               IOVCap: Migration-, Interrupt Message Number: 000
               IOVCtl: Enable- Migration- Interrupt- MSE- ARIHierarchy-
               IOVSta: Migration-
               Initial VFs: 64, Total VFs: 64, Number of VFs: 64, Function Dependency Link: 00
               VF offset: 384, stride: 2, Device ID: 10ed
               Supported Page Size: 00000553, System Page Size: 00000001
               Region 0: Memory at 00000000dfc00000 (64-bit, non-prefetchable)
               Region 3: Memory at 00000000dfb00000 (64-bit, non-prefetchable)
               VF Migration: offset: 00000000, BIR: 0
       Kernel driver in use: ixgbe

отличия заметил только в firmware ver, но есть другой сервер, который с firmware точно как у Е5 на Е3 работает с PayLoad 128. видимо, действительно ограничения шины. Сейчас читаю Spec на Е3 на тему работы с PCIe

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


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

Возможно и нет, судя по данным должно быть наоборот. У E3 maxpayload меньше, значит оверхед больше.

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


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

а вот здесь (http://www.intel.ru/content/dam/www/public/us/en/documents/datasheets/xeon-e3-1200v3-vol-2-datasheet.pdf), кажется, нашел ответ.

Пункт 3.2.35 DCAP - Device Capabilities

 

MPS - Max Payload Size: Default indicates 256B max supported payload to Transaction Layer Packets (TLP) for x16 PEG only. x8 and x4 PEG are limited to 128B support.

 

Похоже, что Max Payload 256 доступен не на всех портах PCIe у Xeon E3.

 

В даташите на Е5 сказано, что MaxPayload = 256 для стандартных портов PCIe и 128 для порта DMI

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


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

Разница в эффективности 6%, не так чтобы существенно, если не использовать ресурсы впритык.

http://www.xilinx.com/support/documentation/white_papers/wp350.pdf стр 8

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


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

Join the conversation

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

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

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

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

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

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

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