lionel Posted July 4, 2011 Posted July 4, 2011 ситуация такая - есть сервак с сетевушкой 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'а не прокатил, да и костыль это. Вставить ник Quote
zurz Posted July 4, 2011 Posted July 4, 2011 (edited) 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 July 4, 2011 by zurz Вставить ник Quote
lionel Posted July 4, 2011 Author Posted July 4, 2011 (edited) при включении max_vfs очереди пропадают вообще. даже в dom0, пока не пропишешь их в VMDQ. параметр max_vfs отключает и блокирует RSS. количество vfs никак не влияет на количество прерываний у них. какой бы ни был max_vfs, у VF всегда Capabilities: [70] MSI-X: Enable- Count=3 Masked- я так понимаю что нет прерываний - нет очередей. Edited July 4, 2011 by lionel Вставить ник Quote
zurz Posted July 4, 2011 Posted July 4, 2011 с другой стороны, если логически помыслить... обычно на физической машине прерывания сетевухи прибиваются к конкретным CPU. виртуальная машина в абстрактном случае запускается на хз каком CPU -> для вешания прерываний нужно биндить VM к CPU? Вставить ник Quote
lionel Posted July 4, 2011 Author Posted July 4, 2011 если это паравиртуализация то да. если нет то наверно как на физической машине. физическую сетевуху гостю давал - очередей несколько, всё замечательно работает, из KVM нагрузка видна, распределена по ядрам как и в госте. Вставить ник Quote
lionel Posted July 8, 2011 Author Posted July 8, 2011 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 Вставить ник Quote
Ivan_83 Posted July 8, 2011 Posted July 8, 2011 Не линуксом единым. Не мешало бы у яндекса спросить и в фряшной рассылке. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.