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

Freebsd и Intel FTXL710AM1 (Silicom PE310G4i71LB-XR) Распределение нагрузки по ядрам

Коллеги , скажите , кто то использовал данную карту.

Стоит FreeBSD 11, 2хXeon 5650 12 ядер без гипертрейдинга и карта Silicom PE310G4i71LB-XR , чипсет Intel FTXL710AM1

Судя по статистике , нагрузку гонят тока на 8 ядрах, 4 пустуют.

Не подскажите как заставить использовать все ядра , или может она может только 8 очередей использовать ?

 

CPU 0: 0.0% user, 0.0% nice, 0.0% system, 15.7% interrupt, 84.3% idle

CPU 1: 0.0% user, 0.0% nice, 0.0% system, 16.5% interrupt, 83.5% idle

CPU 2: 0.0% user, 0.0% nice, 0.0% system, 15.4% interrupt, 84.6% idle

CPU 3: 0.0% user, 0.0% nice, 0.4% system, 12.2% interrupt, 87.4% idle

CPU 4: 0.0% user, 0.0% nice, 0.4% system, 20.5% interrupt, 79.1% idle

CPU 5: 0.0% user, 0.0% nice, 0.0% system, 14.6% interrupt, 85.4% idle

CPU 6: 0.0% user, 0.0% nice, 0.0% system, 16.1% interrupt, 83.9% idle

CPU 7: 0.0% user, 0.0% nice, 0.0% system, 13.8% interrupt, 86.2% idle

CPU 8: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle

CPU 9: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle

CPU 10: 0.0% user, 0.0% nice, 1.2% system, 0.0% interrupt, 98.8% idle

CPU 11: 0.0% user, 0.0% nice, 0.8% system, 0.0% interrupt, 99.2% idle

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

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


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

Если это не пппое то попробуй:

sysctl net.isr.dispatch=deferred

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


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

http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/xl710-10-40-controller-datasheet.pdf

 

MSI-X: Supports up to 1168 MSI-X vectors, shared among PFs and VFs. Up to 129 MSI-X interrupts can be

assigned to a single PF and up to 17 MSI-X interrupts can be assigned to a single VF, depending on the number

of enabled functions.

 

В драйвере для дефолта:

queues = (mp_ncpus > (available - 1)) ? (available - 1) : mp_ncpus;

 

Возможно, на маме не хватает свободных прерываний.

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


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

Если это не пппое то попробуй:

sysctl net.isr.dispatch=deferred

 

Данная команда вообще в одно ядро все переводит (

 

В драйвере для дефолта:

queues = (mp_ncpus > (available - 1)) ? (available - 1) : mp_ncpus;

 

Возможно, на маме не хватает свободных прерываний.

 

Можно попродробнее, в данный момент стоит штатфный драйвер Feebsd ничего на нем не менялось.

Дравейр стоит

ixl0: <Intel(R) Ethernet Connection XL710/X722 Driver, Version - 1.6.6-k> mem 0x
ixl0: Using MSIX interrupts with 9 vectors
ixl0: fw 5.0.40043 api 1.5 nvm 5.02 etid 80002248 oem 0.0.0
ixl0: PF-ID[0]: VFs 32, MSIX 129, VF MSIX 5, QPs 384, I2C
ixl0: Allocating 8 queues for PF LAN VSI; 8 queues active
ixl0: Ethernet address: 00:e0:ed:75:1d:56
ixl0: PCI Express Bus: Speed 5.0GT/s Width x8
ixl0: PCI-Express bandwidth available for this device may be insufficient for op
ixl0: For optimal performance, a x8 PCIE Gen3 slot is required.
ixl0: SR-IOV ready
ixl0: netmap queues/slots: TX 8/1024, RX 8/1024

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

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


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

Нету у меня 11-ой фри. На 10.3 смотрел.

 

"man ixl" дает hw.ixl.max_queues. Идем в /usr/src/sys/dev/ixl и grep-им его на предмет поведения при умолчательном 0 в этой sysctl.

 

Оно мне и дало эту строчку. Читать как:

 

ЕСЛИ процессоров больше чем свободных прерываний - 1

ТО очередей будет = свободных прерываний - 1

ИНАЧЕ количество процессоров

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


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

Нету у меня 11-ой фри. На 10.3 смотрел.

 

"man ixl" дает hw.ixl.max_queues. Идем в /usr/src/sys/dev/ixl и grep-им его на предмет поведения при умолчательном 0 в этой sysctl.

 

Оно мне и дало эту строчку. Читать как:

 

ЕСЛИ процессоров больше чем свободных прерываний - 1

ТО очередей будет = свободных прерываний - 1

ИНАЧЕ количество процессоров

 

Если попробовать поставить в loader.conf

hw.ixl.max_queues = Количество ядер , изменит нет

потому как по умолчанию стоит 0 , ман говорит что если 0 , то автовычисление

https://www.freebsd.org/cgi/man.cgi?query=ixl&sektion=4

hw.ixl.max_queues
Set the number of queues (each a TX/RX pair) for the port,	this
allows one	to override the	autocalculation	if it is set to	0.

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


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

Данная команда вообще в одно ядро все переводит (

Там рядом крутилка есть чтобы количество потоков задать.

net.isr.numthreads: 16

net.isr.bindthreads: 1

net.isr.maxthreads: 16

в лодере пропиши и ребут.

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


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

Данная команда вообще в одно ядро все переводит (

Там рядом крутилка есть чтобы количество потоков задать.

net.isr.numthreads: 16

net.isr.bindthreads: 1

net.isr.maxthreads: 16

в лодере пропиши и ребут.

 

У меня 12 ядер , 12 нужно указать ? )

И вот еще хотел спросить , по опыту как лучше с гипертрейдингом или без , если гипер включить то 24 ядра будет.

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


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

Я вообще 1024 пишу, система сама правит до реальных цифр.

ИМХО лучше без, но можешь попробовать и так и так, ибо моё мнение базируется на теории без практики на современных процах.

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


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

Обратил внимание что сейчас в FreeBSD поддержка ipfw и nat идет как отдельный подгружаемый модуль в ядро , или лучше скомпилировать ядро с поддержкой IPFW

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


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

Обратил внимание что сейчас в FreeBSD поддержка ipfw и nat идет как отдельный подгружаемый модуль в ядро , или лучше скомпилировать ядро с поддержкой IPFW

 

Все равно. Обычно при сетевых картах 10Г ОЗУ хватает.

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


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

Обратил внимание что сейчас в FreeBSD поддержка ipfw и nat идет как отдельный подгружаемый модуль в ядро , или лучше скомпилировать ядро с поддержкой IPFW

Уже лет 5+.

Без разницы, есть нюансы с дефолт аккепт/режект при загрузке но не более.

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


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

Появилась проблема, через некоторое время, несколько часов работы под нагрузкой, kernel заваливает все ядра проца в потолок 100% , в логах ничего , и не понятно почему такое происходит, кто то встречал такое ?

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


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

Появилась проблема, через некоторое время, несколько часов работы под нагрузкой, kernel заваливает все ядра проца в потолок 100% , в логах ничего , и не понятно почему такое происходит, кто то встречал такое ?

kldload hwpmc

pmcstat -TS instructions -w1

 

В помощь!

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


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

Join the conversation

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

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

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

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

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

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

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