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

Новые дрова от Яндеха Под Фрю 7/8

wawa

После недавнего обновления em и igb дров в RELENG_8 не собирается ядро с яндексами. Планируется ли обновленная версия Ваших драйверов?

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


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

wawa

После недавнего обновления em и igb дров в RELENG_8 не собирается ядро с яндексами. Планируется ли обновленная версия Ваших драйверов?

да, конечно.

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


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

да, конечно.

Приятно слышать :) Большое спасибо, ждем с нетерпением!

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


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

wawa

После недавнего обновления em и igb дров в RELENG_8 не собирается ядро с яндексами. Планируется ли обновленная версия Ваших драйверов?

да, конечно.

Пардон за назойливость, но хотелось бы получить ответ на уже задававшийся здесь вопрос:

Яндекс использует свои em-драйверы на сервере или на шлюзе?

По сравнению с оригинальными интеловскими они дают прирост скорости и там, и там?

Если да, то за счёт чего?

За счёт отказа от tx-очередей?

За счёт распараллеливания rx-очередей по нескольким потокам?

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


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

Пардон за назойливость, но хотелось бы получить ответ на уже задававшийся здесь вопрос:

Яндекс использует свои em-драйверы на сервере или на шлюзе?

По сравнению с оригинальными интеловскими они дают прирост скорости и там, и там?

Если да, то за счёт чего?

За счёт отказа от tx-очередей?

За счёт распараллеливания rx-очередей по нескольким потокам?

Самому лень глянуть ?

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


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

Самому лень глянуть ?

Ваши высеры мне не интересны. Гребите мимо.

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


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

 

:-) Все с Вами ясно: "читать мне лень, а wawa мне по жизни должен".

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


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

em-6.9.14-RELENG8-yandex-1.36.2.17.2.6.tar.gz не собирается, ошибка

cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc  -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000  -mno-align-long-strings -mpreferred-stack-boundary=2  -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -fstack-protector -Werror  /usr/src/sys/dev/e1000/if_lem.c -I/usr/src/sys/dev/e1000
/usr/src/sys/dev/e1000/if_lem.c: In function 'lem_enable_wakeup':
/usr/src/sys/dev/e1000/if_lem.c:4011: error: 'E1000_CTRL_EXT_SDP3_DATA' undeclared (first use in this function)
/usr/src/sys/dev/e1000/if_lem.c:4011: error: (Each undeclared identifier is reported only once
/usr/src/sys/dev/e1000/if_lem.c:4011: error: for each function it appears in.)
*** Error code 1

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


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

+1, у меня тоже не собираются с той же ошибкой.

FreeBSD 8.0-STABLE.

em0@pci0:13:0:0:        class=0x020000 card=0x108c15d9 chip=0x108c8086 rev=0x03 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Intel Corporation 82573E Gigabit Ethernet Controller (Copper) (82573E)'
    class      = network
    subclass   = ethernet
em1@pci0:15:0:0:        class=0x020000 card=0x109a15d9 chip=0x109a8086 rev=0x00 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Intel PRO/1000 PL Network Adaptor (82573L)'
    class      = network
    subclass   = ethernet

dev.em.0.%desc: Intel(R) PRO/1000 Network Connection 7.0.5
dev.em.0.%driver: em
dev.em.0.%location: slot=0 function=0
dev.em.0.%pnpinfo: vendor=0x8086 device=0x108c subvendor=0x15d9 subdevice=0x108c class=0x020000
dev.em.0.%parent: pci13
dev.em.0.debug: -1
dev.em.0.stats: -1
dev.em.0.rx_int_delay: 900
dev.em.0.tx_int_delay: 900
dev.em.0.rx_abs_int_delay: 1800
dev.em.0.tx_abs_int_delay: 1800
dev.em.0.rx_processing_limit: 100
dev.em.1.%desc: Intel(R) PRO/1000 Network Connection 7.0.5
dev.em.1.%driver: em
dev.em.1.%location: slot=0 function=0
dev.em.1.%pnpinfo: vendor=0x8086 device=0x109a subvendor=0x15d9 subdevice=0x109a class=0x020000
dev.em.1.%parent: pci15
dev.em.1.debug: -1
dev.em.1.stats: -1
dev.em.1.rx_int_delay: 900
dev.em.1.tx_int_delay: 900
dev.em.1.rx_abs_int_delay: 1800
dev.em.1.tx_abs_int_delay: 1800
dev.em.1.rx_processing_limit: 100

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


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

Dyr

Не собираются из-за этого

Как вариант можно попробовать откатить изменения.

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


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

Ктото на 8.1 пробовал Яндексовые дрова компилить?

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


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

Ктото на 8.1 пробовал Яндексовые дрова компилить?

не собираются

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


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

Собираются, если выпилить legacy em.

 

/usr/src/sys/conf/files - закоментировать 2 строки

#dev/e1000/if_lem.c optional em inet \

# compile-with "${NORMAL_C} -I$S/dev/e1000"

 

/usr/src/sys/modules/em/Makefile - выпилить его-же

LEGACY_SRC =

# += if_lem.c

 

/usr/src/sys/dev/e1000 снести все и влить содержимое em-6.9.14-RELENG8-yandex-1.36.2.17.2.6.tar.gz

 

Вкомпиливать в ядро, модуль не грузится - какой-то символ не найден. Месяц аптайма полет нормальный.

 

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


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

Собираются, если выпилить legacy em.

 

/usr/src/sys/conf/files - закоментировать 2 строки

#dev/e1000/if_lem.c optional em inet \

# compile-with "${NORMAL_C} -I$S/dev/e1000"

 

/usr/src/sys/modules/em/Makefile - выпилить его-же

LEGACY_SRC =

# += if_lem.c

 

/usr/src/sys/dev/e1000 снести все и влить содержимое em-6.9.14-RELENG8-yandex-1.36.2.17.2.6.tar.gz

 

Вкомпиливать в ядро, модуль не грузится - какой-то символ не найден. Месяц аптайма полет нормальный.

Что теряем в итоге без legacy em?

 

попробовал, теперь так ругается:

/usr/src/sys/dev/e1000/e1000_vf.c: In function 'e1000_init_function_pointers_vf':
/usr/src/sys/dev/e1000/e1000_vf.c:151: error: 'struct e1000_hw' has no member named 'mbx'
/usr/src/sys/dev/e1000/e1000_vf.c:151: error: 'e1000_init_mbx_params_vf' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:151: error: (Each undeclared identifier is reported only once
/usr/src/sys/dev/e1000/e1000_vf.c:151: error: for each function it appears in.)
/usr/src/sys/dev/e1000/e1000_vf.c: In function 'e1000_reset_hw_vf':
/usr/src/sys/dev/e1000/e1000_vf.c:260: error: 'struct e1000_hw' has no member named 'mbx'
/usr/src/sys/dev/e1000/e1000_vf.c:273: error: dereferencing pointer to incomplete type
/usr/src/sys/dev/e1000/e1000_vf.c:280: error: dereferencing pointer to incomplete type
/usr/src/sys/dev/e1000/e1000_vf.c:280: error: 'E1000_VF_MBX_INIT_TIMEOUT' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:282: error: 'E1000_VF_RESET' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:283: error: dereferencing pointer to incomplete type
/usr/src/sys/dev/e1000/e1000_vf.c:288: error: dereferencing pointer to incomplete type
/usr/src/sys/dev/e1000/e1000_vf.c:291: error: 'E1000_VT_MSGTYPE_ACK' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c: In function 'e1000_rar_set_vf':
/usr/src/sys/dev/e1000/e1000_vf.c:325: error: 'struct e1000_hw' has no member named 'mbx'
/usr/src/sys/dev/e1000/e1000_vf.c:331: error: 'E1000_VF_SET_MAC_ADDR' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:333: error: dereferencing pointer to incomplete type
/usr/src/sys/dev/e1000/e1000_vf.c:336: error: dereferencing pointer to incomplete type
/usr/src/sys/dev/e1000/e1000_vf.c:338: error: 'E1000_VT_MSGTYPE_CTS' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:342: error: 'E1000_VT_MSGTYPE_NACK' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c: In function 'e1000_update_mc_addr_list_vf':
/usr/src/sys/dev/e1000/e1000_vf.c:389: error: 'struct e1000_hw' has no member named 'mbx'
/usr/src/sys/dev/e1000/e1000_vf.c:390: error: 'E1000_VFMAILBOX_SIZE' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:409: error: 'E1000_VF_SET_MULTICAST_OVERFLOW' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:413: error: 'E1000_VF_SET_MULTICAST' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:414: error: 'E1000_VT_MSGINFO_SHIFT' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:423: error: dereferencing pointer to incomplete type
cc1: warnings being treated as errors
/usr/src/sys/dev/e1000/e1000_vf.c:390: warning: unused variable 'msgbuf'
/usr/src/sys/dev/e1000/e1000_vf.c: At top level:
/usr/src/sys/dev/e1000/e1000_vf.c:433: warning: no previous prototype for 'e1000_vfta_set_vf'
/usr/src/sys/dev/e1000/e1000_vf.c: In function 'e1000_vfta_set_vf':
/usr/src/sys/dev/e1000/e1000_vf.c:434: error: 'struct e1000_hw' has no member named 'mbx'
/usr/src/sys/dev/e1000/e1000_vf.c:437: error: 'E1000_VF_SET_VLAN' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:441: error: 'E1000_VF_SET_VLAN_ADD' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:443: error: dereferencing pointer to incomplete type
/usr/src/sys/dev/e1000/e1000_vf.c: At top level:
/usr/src/sys/dev/e1000/e1000_vf.c:451: warning: no previous prototype for 'e1000_rlpml_set_vf'
/usr/src/sys/dev/e1000/e1000_vf.c: In function 'e1000_rlpml_set_vf':
/usr/src/sys/dev/e1000/e1000_vf.c:452: error: 'struct e1000_hw' has no member named 'mbx'
/usr/src/sys/dev/e1000/e1000_vf.c:455: error: 'E1000_VF_SET_LPE' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:458: error: dereferencing pointer to incomplete type
/usr/src/sys/dev/e1000/e1000_vf.c: At top level:
/usr/src/sys/dev/e1000/e1000_vf.c:467: warning: 'enum e1000_promisc_type' declared inside parameter list
/usr/src/sys/dev/e1000/e1000_vf.c:467: warning: its scope is only this definition or declaration, which is probably not what you want
/usr/src/sys/dev/e1000/e1000_vf.c:467: error: parameter 2 ('type') has incomplete type
/usr/src/sys/dev/e1000/e1000_vf.c:468: warning: no previous prototype for 'e1000_promisc_set_vf'
/usr/src/sys/dev/e1000/e1000_vf.c: In function 'e1000_promisc_set_vf':
/usr/src/sys/dev/e1000/e1000_vf.c:469: error: 'struct e1000_hw' has no member named 'mbx'
/usr/src/sys/dev/e1000/e1000_vf.c:470: error: 'E1000_VF_SET_PROMISC' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:474: error: 'e1000_promisc_multicast' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:475: error: 'E1000_VF_SET_PROMISC_MULTICAST' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:477: error: 'e1000_promisc_enabled' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:479: error: 'e1000_promisc_unicast' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:480: error: 'E1000_VF_SET_PROMISC_UNICAST' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:481: error: 'e1000_promisc_disabled' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:487: error: dereferencing pointer to incomplete type
/usr/src/sys/dev/e1000/e1000_vf.c:490: error: dereferencing pointer to incomplete type
/usr/src/sys/dev/e1000/e1000_vf.c:492: error: 'E1000_VT_MSGTYPE_ACK' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c: In function 'e1000_check_for_link_vf':
/usr/src/sys/dev/e1000/e1000_vf.c:522: error: 'struct e1000_hw' has no member named 'mbx'
/usr/src/sys/dev/e1000/e1000_vf.c:536: error: dereferencing pointer to incomplete type
/usr/src/sys/dev/e1000/e1000_vf.c:548: error: dereferencing pointer to incomplete type
/usr/src/sys/dev/e1000/e1000_vf.c:552: error: 'E1000_VT_MSGTYPE_CTS' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:554: error: 'E1000_VT_MSGTYPE_NACK' undeclared (first use in this function)
/usr/src/sys/dev/e1000/e1000_vf.c:562: error: dereferencing pointer to incomplete type
*** Error code 1

 

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

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


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

Что теряем в итоге без legacy em?
Поддержку карт интеловских pci наверное, и то не факт. Да и кому они нужны на рутере-то?
попробовал, теперь так ругается:
На днях буду обновляться и пересобираться, посмотрю.

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


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

Собирается как модуль без рекомпиля на FreeBSD 8.1 драйвера последние от wawa.

 

1) Скачиваем драйвер http://people.yandex-team.ru/~wawa/xxx.yyy

2) Копируем содержимое архива

2) cp * /usr/src/sys/dev/e1000/

3) cd /usr/src/sys/modules/em/

4) make install clean

5) В /boot/loader.conf добавляете строку:

if_em_load="YES"

 

Если не собираются:

/usr/src/sys/modules/em/../../dev/e1000/if_lem.c:4011: error:
'E1000_CTRL_EXT_SDP3_DATA' undeclared (first use in this function)

 

...то определите константу E1000_CTRL_EXT_SDP3_DATA в 0x00000080.

 

:)

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


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

Собираются, если выпилить legacy em.

 

/usr/src/sys/conf/files - закоментировать 2 строки

#dev/e1000/if_lem.c optional em inet \

# compile-with "${NORMAL_C} -I$S/dev/e1000"

 

/usr/src/sys/modules/em/Makefile - выпилить его-же

LEGACY_SRC =

# += if_lem.c

 

/usr/src/sys/dev/e1000 снести все и влить содержимое em-6.9.14-RELENG8-yandex-1.36.2.17.2.6.tar.gz

 

Вкомпиливать в ядро, модуль не грузится - какой-то символ не найден. Месяц аптайма полет нормальный.

Делаю примерно так же на 7.3.

Ядро пересобирать все равно придется, даже если модулем грузить.

Поэтому вкомпиливаю в ядро сразу.

п.с. Все работает, полет нормальный )

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


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

Владимир, подскажите, пожалуйста, как обстоят сейчас дела с драйверами для серии Intel ET (igb)?

К сожалению, драйвера от Intel пока далеки от совершенства.

Патчи http://people.freebsd.org/~yongari/igb/igb.buf.patch6, ложатся только на драйвер во FreeBSD8 и не применимы в случае FreeBSD7.

Может есть какой-то вариант для FreeBSD7? Хотелось бы попробовать.

Эта штука находится в стадии кровопролитного выколачивания критических ошибок.

Большого реинжиниринга aka em мы пока не планируем. На первый взгляд незачем.

Времени прошло достаточно много. "Кровопролитное выколачивание багов" в драйвере igb реально затягивается.

На данный момент на высоконагруженных серверах с большой пакетной нагрузкой альтернатив Intel PT с драйвером yandex просто нет. Спасибо Вам за проделанную работу.

Беда в том, что в последних поставках серверов все чаще фигурирует именно ET

На бумаге Intel ET заметно интересней, но текущий драйвер в Stable хоть и прямее, чем в 8.0, но имеет громадные проблемы с выделением ресурсов, особенно при работе мультипортовок с кучей vlan на lagg.

 

Собственно вопроса 2

1) хотелось бы увидеть адаптацию yandex-драйвера к текущей кодовой базе в Stable c включенными правками для igb. этого можно ожидать в этом году?

2) есть ли вариант инициировать появление yandex-драйвера, оптимизированного специально под серию ET? может быть для этого нужны финансовые вливания?

Можно обсудить детали.

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


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

Собираются, если выпилить legacy em.

 

/usr/src/sys/conf/files - закоментировать 2 строки

#dev/e1000/if_lem.c optional em inet \

# compile-with "${NORMAL_C} -I$S/dev/e1000"

 

/usr/src/sys/modules/em/Makefile - выпилить его-же

LEGACY_SRC =

# += if_lem.c

 

/usr/src/sys/dev/e1000 снести все и влить содержимое em-6.9.14-RELENG8-yandex-1.36.2.17.2.6.tar.gz

 

Вкомпиливать в ядро, модуль не грузится - какой-то символ не найден. Месяц аптайма полет нормальный.

Делаю примерно так же на 7.3.

Ядро пересобирать все равно придется, даже если модулем грузить.

Поэтому вкомпиливаю в ядро сразу.

п.с. Все работает, полет нормальный )

мы освежили версии для em (теперь оно называется e1000)

 

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


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

Времени прошло достаточно много. "Кровопролитное выколачивание багов" в драйвере igb реально затягивается.

На данный момент на высоконагруженных серверах с большой пакетной нагрузкой альтернатив Intel PT с драйвером yandex просто нет. Спасибо Вам за проделанную работу.

Беда в том, что в последних поставках серверов все чаще фигурирует именно ET

На бумаге Intel ET заметно интересней, но текущий драйвер в Stable хоть и прямее, чем в 8.0, но имеет громадные проблемы с выделением ресурсов, особенно при работе мультипортовок с кучей vlan на lagg.

С igb не все так плохо, а становится еще лучше ...

 

 

пример

 

8.1-STABLE FreeBSD 8.1-STABLE #0: Tue Aug 10 16:36:02 EEST 2010 

igb0: <Intel® PRO/1000 Network Connection version - 1.9.6> port 0xe880-0xe89f mem 0xfbe60000-0xfbe7ffff,
0xfbe40000-0xfbe5ffff,0xfbe98000-0xfbe9bfff irq 16 at device 0.0 on pci10
igb0: Using MSIX interrupts with 10 vectors
igb0: [iTHREAD]
igb0: [iTHREAD]
igb0: [iTHREAD]
igb0: [iTHREAD]
igb0: [iTHREAD]
igb0: [iTHREAD]
igb0: [iTHREAD]
igb0: [iTHREAD]
igb0: [iTHREAD]
igb0: [iTHREAD]
igb0: Ethernet address: 00:30:48:f2:78:7e
igb1: <Intel® PRO/1000 Network Connection version - 1.9.6> port 0xec00-0xec1f mem 0xfbee0000-0xfbefffff,
0xfbec0000-0xfbedffff,0xfbe9c000-0xfbe9ffff irq 17 at device 0.1 on pci10
igb1: Using MSIX interrupts with 10 vectors
igb1: [iTHREAD]
igb1: [iTHREAD]
igb1: [iTHREAD]
igb1: [iTHREAD]
igb1: [iTHREAD]
igb1: [iTHREAD]
igb1: [iTHREAD]
igb1: [iTHREAD]
igb1: [iTHREAD]
igb1: [iTHREAD]
igb1: Ethernet address: 00:30:48:f2:78:7f

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

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


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

А теперь попробуйте насоздавать, скажем на igb3 скриптом кучку vlan-ов и посмотрите, на какой штуке нарветесь на "could not setup received structures" или что-то подобное, при

 

loader.conf

--------------------

hw.igb.rxd=4096

hw.igb.txd=4096

hw.igb.num_queues=0

hw.igb.lro=0

hw.igb.enable_msix=1

--------------------

 

Причем если поиграть с hw.igb.num_queues, то можно подобрать такое количество очередей, при котором на ошибки наступать перестаем, но и тогда под нагрузкой ловятся косяки.

Например у меня перестает показывать глюки при инициализации с hw.igb.num_queues=7, но более-менее стабильно работает только при hw.igb.num_queues=6 (по умолчанию, без настройки параметраhw.igb.num_queues, на моей конфигурации создается по 11 очередей)

Если поднимать lagg на igb, то и вовсе hw.igb.num_queues=3 - предел, но ловим глюки в работа практически сразу. Параметров крутили много.

И это при 2xXeon X5650 (всего 24 потока). Так что пока все печально.

 

PT с дровами yandex на той же конфигурации пока недостижим.

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


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

мы освежили версии для em (теперь оно называется e1000)
Большое спасибо.

 

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


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

А теперь попробуйте насоздавать, скажем на igb3 скриптом кучку vlan-ов и посмотрите, на какой штуке нарветесь на "could not setup received structures" или что-то подобное, при

 

loader.conf

--------------------

hw.igb.rxd=4096

hw.igb.txd=4096

hw.igb.num_queues=0

hw.igb.lro=0

hw.igb.enable_msix=1

--------------------

 

 

 

Причем если поиграть с hw.igb.num_queues, то можно подобрать такое количество очередей, при котором на ошибки наступать перестаем, но и тогда под нагрузкой ловятся косяки.

Например у меня перестает показывать глюки при инициализации с hw.igb.num_queues=7, но более-менее стабильно работает только при hw.igb.num_queues=6 (по умолчанию, без настройки параметраhw.igb.num_queues, на моей конфигурации создается по 11 очередей)

Если поднимать lagg на igb, то и вовсе hw.igb.num_queues=3 - предел, но ловим глюки в работа практически сразу. Параметров крутили много.

И это при 2xXeon X5650 (всего 24 потока). Так что пока все печально.

 

PT с дровами yandex на той же конфигурации пока недостижим.

С hw.igb.rxd=4096 и hw.igb.txd=4096 сообщение "could not setup received structures" вылетало на старте системы (2 valn-a), но убрав их, неделю живет - полет номальный (700/500 Мбит/с отдачи/входа )

 

На предидущей версии дров igb (из FreeBSD 8.0) в моем случае нет практически никакой разницы в производительности с родными em, в одинаковых тазиках жуют одинаково трафика 800/400 вход/выход NAT, Netflow, Шейпинг

 

 

 

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


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

Хм... при сборке ядра на amd64 8.1 с

 e1000-7.0.5-RELENG8-yandex-1.36.2.17.2.18

вываливается ошибка при линковке:

 

linking kernel.debug
e1000_api.o(.text+0xfad): In function `e1000_setup_init_funcs':
../../../dev/e1000/e1000_api.c:357: undefined reference to `e1000_init_mbx_ops_generic'
e1000_api.o(.text+0x1046):../../../dev/e1000/e1000_api.c:407: undefined reference to `e1000_init_function_pointers_vf'
*** Error code 1

 

 

Проблема fixed

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

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


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

Хм... при сборке ядра на amd64 8.1 с
 e1000-7.0.5-RELENG8-yandex-1.36.2.17.2.18

вываливается ошибка при линковке:

...

Проблема fixed

Собственно в драйвере от 8.1R по сравнению с 8 Stable нет некоторых файлов (e1000_vf.* и e1000_mbx.*), поэтому для успешной сборки необходимо дополнить следующие файлы:

 

/usr/src/sys/conf/files

diff:

933a935,938
> dev/e1000/e1000_vf.c          optional em | igb \
>       compile-with "${NORMAL_C} -I$S/dev/e1000"
> dev/e1000/e1000_mbx.c         optional em | igb \
>       compile-with "${NORMAL_C} -I$S/dev/e1000"

 

/usr/src/sys/modules/em

diff:

11c11,12
< COMMON_SHARED = e1000_api.c e1000_phy.c e1000_nvm.c e1000_mac.c e1000_manage.c
---
> COMMON_SHARED = e1000_api.c e1000_phy.c e1000_nvm.c e1000_mac.c \
>               e1000_manage.c e1000_vf.c e1000_mbx.c

 

/usr/src/sys/modules/igb

diff:

9c9
< SHARED_SRCS += e1000_82575.c
---
> SHARED_SRCS += e1000_82575.c e1000_vf.c e1000_mbx.c

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

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


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

Join the conversation

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

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

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

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

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

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

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