lionel Опубликовано 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'а не прокатил, да и костыль это. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
zurz Опубликовано 4 июля, 2011 (изменено) · Жалоба 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 процом. Изменено 4 июля, 2011 пользователем zurz Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
lionel Опубликовано 4 июля, 2011 (изменено) · Жалоба при включении max_vfs очереди пропадают вообще. даже в dom0, пока не пропишешь их в VMDQ. параметр max_vfs отключает и блокирует RSS. количество vfs никак не влияет на количество прерываний у них. какой бы ни был max_vfs, у VF всегда Capabilities: [70] MSI-X: Enable- Count=3 Masked- я так понимаю что нет прерываний - нет очередей. Изменено 4 июля, 2011 пользователем lionel Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
zurz Опубликовано 4 июля, 2011 · Жалоба с другой стороны, если логически помыслить... обычно на физической машине прерывания сетевухи прибиваются к конкретным CPU. виртуальная машина в абстрактном случае запускается на хз каком CPU -> для вешания прерываний нужно биндить VM к CPU? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
lionel Опубликовано 4 июля, 2011 · Жалоба если это паравиртуализация то да. если нет то наверно как на физической машине. физическую сетевуху гостю давал - очередей несколько, всё замечательно работает, из KVM нагрузка видна, распределена по ядрам как и в госте. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
lionel Опубликовано 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 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 8 июля, 2011 · Жалоба Не линуксом единым. Не мешало бы у яндекса спросить и в фряшной рассылке. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...