Jump to content
Калькуляторы

Виртуализация - сетевая карта Intel 82599

ситуация такая - есть сервак с сетевушкой Intel 82599. она двухпортовая. физическое устройство имеет 16 очередей и 64 прерывания. а виртуальное на RX всего одну.

 

 

вот физическая сетевуха:

05:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit Network Connection (rev 01)

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

 

а вот её VF девайс:

05:10.0 Ethernet controller: Intel Corporation Device 10ed (rev 01)

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

при загрузке драйвера становится Enable+

это то что видно из _dom0. с KVM аналогично.

в госте соответственно тоже Count=3

одно RX одно TX и одно lsc

а у драйвера ixgbevf опций, относящихся к виртуализации вообще нет.

 

 

нет очередей потому что нет прерываний? или оно как-то по другому работает? ни в readme ни в описании ничего не нашёл про то как оно должно быть.

у драйвера ixgbe есть опция VMDQ про которую в readme ничего нет. в версии 3.3.9 она вроде как рабочая но очереди только у основных сетевух появляются.

в 3.2.10 с этой опцией переставала работать сеть в _dom0. при этом работала в гостевой системе.

опций у модуля ixgbe кроме VMDQ и max_vfs больше нет - смотрел в сорцах.

хочется и в госте иметь несколько очередей но вот как это сделать?

вариант с прокидыванием нескольких VF сетевух и сооружением port-channel'а не прокатил, да и костыль это.

Share this post


Link to post
Share on other sites

PCI-SIG SR-IOV Primer: An Introduction To SR-IOV Technology, 2.5

Intel® 82599 SR-IOV Driver Companion Guide, 1.0

 

насколько я понял, если даешь max_vfs=64 (default), то ресурсы делятся поровну на 64 vf, соответственно по 1 на vm.

по даташиту вроде как есть 3 градации: 16, 32 и 64. попробуй задать max_vfs=16, может очередей станет больше.

 

VMDq тебе не нужен - это софтэмуль для тех гостевых осей, под которые intel не писала драйвер.

 

UPD: возможно это ещё связано и с наличием/отсутствием поддержки VT-d процом.

Edited by zurz

Share this post


Link to post
Share on other sites

при включении max_vfs очереди пропадают вообще. даже в dom0, пока не пропишешь их в VMDQ.

параметр max_vfs отключает и блокирует RSS. количество vfs никак не влияет на количество прерываний у них.

какой бы ни был max_vfs, у VF всегда Capabilities: [70] MSI-X: Enable- Count=3 Masked-

я так понимаю что нет прерываний - нет очередей.

Edited by lionel

Share this post


Link to post
Share on other sites

с другой стороны, если логически помыслить...

обычно на физической машине прерывания сетевухи прибиваются к конкретным CPU.

виртуальная машина в абстрактном случае запускается на хз каком CPU -> для вешания прерываний нужно биндить VM к CPU?

Share this post


Link to post
Share on other sites

если это паравиртуализация то да. если нет то наверно как на физической машине. физическую сетевуху гостю давал - очередей несколько, всё замечательно работает, из KVM нагрузка видна, распределена по ядрам как и в госте.

Share this post


Link to post
Share on other sites

From: Alexander Duyck <alexander.h.duyck@intel.com>

CC: e1000-devel@lists.sf.net

Subject: Re: [E1000-devel] ixgbe 3.3.9 driver for linux and undocumented VMDQ option. VF multiple queues.

Date: Thu, 07 Jul 2011 08:52:29 -0700

User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428 Fedora/3.1.10-1.fc14 Lightning/1.0b3pre Thunderbird/3.1.10

 

The ixgbe and ixgbevf drivers currently do not support multi-queue VFs.

 

The VMDQ option is also not fully feature complete at this time.

Currently all it does is configure the device to support multiple VMDq

pools, however since the Linux kernel currently doesn't have a defined

means of making use of these pools they are unused.

 

Thanks,

 

Alex

Share this post


Link to post
Share on other sites

Не линуксом единым.

 

Не мешало бы у яндекса спросить и в фряшной рассылке.

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this