ThreeDHead Опубликовано 9 декабря, 2014 · Жалоба Какие интересные изменения в сетевой подсистеме нового ядра. В сетевую подсистему внесены оптимизации, направленные на увеличение производительности пакетной передачи данных. Изменения особенно заметны при обработке большого объёма мелких пакетов. Производительность повышена за счёт организации групповых операций блокировки очереди, а также заполнения/очистки очереди и взаимодействия с драйвером сетевой карты не на уровне отдельных пакетов, а манипулируя порциями пакетов. Внесённые изменения позволяют добиться обработки полной пропускной способности высокоскоростных сетевых интерфейсов даже на относительно слабом оборудовании (например, на обычном компьютере продемонстрирована обработка потока в 40 гбит/сек), даже если в трафике преобладают пакеты небольшого размера; http://www.opennet.ru/opennews/art.shtml?num=41210 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 9 декабря, 2014 · Жалоба посмотрите коммиты, относящиеся к сети, но не относящиеся к конкретным драйверам. не так уж и сложно это сделать Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Умник Опубликовано 9 декабря, 2014 · Жалоба Разработчикам удалось добиться wirespeed TX @ 10 Gbit/s на одном ядре современного CPU, но только в случае генерации пакетов модулем pktgen.ko. В forwarding case не все так радужно, но тоже должно стать лучше. Наверное... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ThreeDHead Опубликовано 10 декабря, 2014 · Жалоба Подробностей: http://www.linux.com/news/software/linux-kernel/798276-linux-318-4-reasons-to-love-a-diseased-newt http://lwn.net/Articles/615238/ Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 11 декабря, 2014 · Жалоба Крутота! От 40 гигабит на пустом месте становится тепло и приятно на душе! :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Igor Diakonov Опубликовано 11 декабря, 2014 · Жалоба Сферические 40 гбит в вакууме :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dark_Angel Опубликовано 11 декабря, 2014 · Жалоба Парни, отпишитесь, как ядро кто трогал? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Antares Опубликовано 11 декабря, 2014 · Жалоба Парни, отпишитесь, как ядро кто трогал? +1 тоже хотелось бы знать, стоит переходить или нет Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 11 декабря, 2014 · Жалоба Они бы лучше RCV_LOWAT допилили наконец, это много где может уронить уронить нагрузку на проц в разы. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nuclearcat Опубликовано 12 декабря, 2014 · Жалоба +1 тоже хотелось бы знать, стоит переходить или нет Я потрогал, NAT и firewall, никаких особых изменений не заметил. Проапгрейдился, т.к. на этом сервере был 3.14, и случались изредка ребуты. Надо будет пощупать с шейперами. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ThreeDHead Опубликовано 15 декабря, 2014 · Жалоба Не удалось откомпилить драйвера ixgbe под 3.18 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
telecom Опубликовано 15 декабря, 2014 · Жалоба Не удалось откомпилить драйвера ixgbe под 3.18 http://sourceforge.net/p/e1000/bugs/443/ Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 15 декабря, 2014 · Жалоба Вопрос даже не в том, компилится ли ixgbe или нет. Вопрос скорее в том, когда они (Intel и прочие производители дров) добавят основную фичу в драйверы: The initial plan for 3.18 was to specify a new function that drivers could provide: void (*ndo_xmit_flush)(struct net_device *dev, u16 queue); Вот когда это будет в драйвере, стоит и ожидать кардинального и прироста производительности. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Умник Опубликовано 15 декабря, 2014 · Жалоба Вот когда это будет в драйвере, стоит и ожидать кардинального и прироста производительности. Если использовать родной драйвер (который идет с ядром, а не с Sourceforge) то там это уже реализовано. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 15 декабря, 2014 · Жалоба Вот когда это будет в драйвере, стоит и ожидать кардинального и прироста производительности. Если использовать родной драйвер (который идет с ядром, а не с Sourceforge) то там это уже реализовано. ООО, круто! Получается же что он самый новый. Зачем тогда дрова с SF тащить по крайне мере сейчас? Ведь ядреный самый новый получается на данный момент. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ThreeDHead Опубликовано 15 декабря, 2014 · Жалоба Ведь ядреный самый новый получается на данный момент. Ну да, и опций-то модуль принимает чуть больше чем одну полезную ;) filename: /lib/modules/3.18.0-031800-lowlatency/kernel/drivers/net/ethernet/intel/ixgbe/ixgbe.ko version: 3.19.1-k license: GPL description: Intel® 10 Gigabit PCI Express Network Driver author: Intel Corporation, <linux.nics@intel.com> srcversion: F9275BC210EF2A95410F915 alias: pci:v00008086d00001560sv*sd*bc*sc*i* ... alias: pci:v00008086d000010B6sv*sd*bc*sc*i* depends: mdio,ptp,dca intree: Y vermagic: 3.18.0-031800-lowlatency SMP preempt mod_unload modversions signer: Magrathea: Glacier signing key sig_key: 1E:6F:05:64:FA:C6:BD:B0:09:A7:AC:4B:C1:FC:7C:1E:51:4F:4C:C3 sig_hashalgo: sha512 parm: max_vfs:Maximum number of virtual functions to allocate per physical function - default is zero and maximum value is 63. (Deprecated) (uint) parm: allow_unsupported_sfp:Allow unsupported and untested SFP+ modules on 82599-based adapters (uint) parm: debug:Debug level (0=none,...,16=all) (int) Против Интеловского: filename: /lib/modules/3.16.2-031602-generic/kernel/drivers/net/ethernet/intel/ixgbe/ixgbe.ko version: 3.22.3 license: GPL description: Intel® 10 Gigabit PCI Express Network Driver author: Intel Corporation, <linux.nics@intel.com> srcversion: 46A1D1E98D09F1B499E601E alias: pci:v00008086d00001560sv*sd*bc*sc*i* ... alias: pci:v00008086d000010B6sv*sd*bc*sc*i* depends: ptp,dca vermagic: 3.16.2-031602-generic SMP mod_unload modversions parm: InterruptType:Change Interrupt Mode (0=Legacy, 1=MSI, 2=MSI-X), default IntMode (deprecated) (array of int) parm: IntMode:Change Interrupt Mode (0=Legacy, 1=MSI, 2=MSI-X), default 2 (array of int) parm: MQ:Disable or enable Multiple Queues, default 1 (array of int) parm: DCA:Disable or enable Direct Cache Access, 0=disabled, 1=descriptor only, 2=descriptor and data (array of int) parm: RSS:Number of Receive-Side Scaling Descriptor Queues, default 0=number of cpus (array of int) parm: VMDQ:Number of Virtual Machine Device Queues: 0/1 = disable, 2-16 enable (default=8) (array of int) parm: max_vfs:Number of Virtual Functions: 0 = disable (default), 1-63 = enable this many VFs (array of int) parm: VEPA:VEPA Bridge Mode: 0 = VEB (default), 1 = VEPA (array of int) parm: InterruptThrottleRate:Maximum interrupts per second, per vector, (0,1,956-488281), default 1 (array of int) parm: LLIPort:Low Latency Interrupt TCP Port (0-65535) (array of int) parm: LLIPush:Low Latency Interrupt on TCP Push flag (0,1) (array of int) parm: LLISize:Low Latency Interrupt on Packet Size (0-1500) (array of int) parm: LLIEType:Low Latency Interrupt Ethernet Protocol Type (array of int) parm: LLIVLANP:Low Latency Interrupt on VLAN priority threshold (array of int) parm: FdirPballoc:Flow Director packet buffer allocation level: 1 = 8k hash filters or 2k perfect filters 2 = 16k hash filters or 4k perfect filters 3 = 32k hash filters or 8k perfect filters (array of int) parm: AtrSampleRate:Software ATR Tx packet sample rate (array of int) parm: FCoE:Disable or enable FCoE Offload, default 1 (array of int) parm: LRO:Large Receive Offload (0,1), default 1 = on (array of int) parm: allow_unsupported_sfp:Allow unsupported and untested SFP+ modules on 82599 based adapters, default 0 = Disable (array of int) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ThreeDHead Опубликовано 15 декабря, 2014 · Жалоба Не удалось откомпилить драйвера ixgbe под 3.18 http://sourceforge.net/p/e1000/bugs/443/ Собственно не поэтому не компилится: root@iperf:/services/install/ixgbe-3.22.3/src# uname -a Linux iperf 3.18.0-031800-lowlatency #201412071935 SMP PREEMPT Mon Dec 8 00:44:40 UTC 2014 x86_64 GNU/Linux root@iperf:/services/install/ixgbe-3.22.3/src# make make -C /lib/modules/3.18.0-031800-lowlatency/build SUBDIRS=/services/install/ixgbe-3.22.3/src modules make[1]: вход в каталог «/usr/src/linux-headers-3.18.0-031800-lowlatency» CC [M] /services/install/ixgbe-3.22.3/src/ixgbe_main.o /services/install/ixgbe-3.22.3/src/ixgbe_main.c: In function ‘ixgbe_service_event_complete’: /services/install/ixgbe-3.22.3/src/ixgbe_main.c:319:2: error: implicit declaration of function ‘smp_mb__before_clear_bit’ [-Werror=implicit-function-declaration] smp_mb__before_clear_bit(); ^ cc1: some warnings being treated as errors scripts/Makefile.build:257: ошибка выполнения рецепта для цели «/services/install/ixgbe-3.22.3/src/ixgbe_main.o» make[2]: *** [/services/install/ixgbe-3.22.3/src/ixgbe_main.o] Ошибка 1 Makefile:1381: ошибка выполнения рецепта для цели «_module_/services/install/ixgbe-3.22.3/src» make[1]: *** [_module_/services/install/ixgbe-3.22.3/src] Ошибка 2 make[1]: выход из каталога «/usr/src/linux-headers-3.18.0-031800-lowlatency» Makefile:284: ошибка выполнения рецепта для цели «default» make: *** [default] Ошибка 2 root@iperf:/services/install/ixgbe-3.22.3/src# Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 15 декабря, 2014 · Жалоба Ох, да, Ваша правда, кастрат какой-то :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nuclearcat Опубликовано 15 декабря, 2014 · Жалоба "ошибка выполнения рецепта для цели" !!! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 28 февраля, 2015 · Жалоба Как ни странно, но ndo_xmit_flush (который и анонсирует ядру "я умею обработку кучи пакетов одним блоком") так и нету в новом ixgbe драйвере (3.23.2.1), который вышел 23го февраля. Может кто пнет Intel? Это реально сильно ускорит обработку трафика на Линукс боксах. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 28 февраля, 2015 · Жалоба В общем, я забил фич риквест на Сорсфорже, https://sourceforge.net/p/e1000/feature-requests/20/ плюсуем и комментируем, чтобы доказать заинтересованность :) Даешь прокачку роутинга! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
roysbike Опубликовано 1 марта, 2015 · Жалоба А разве на стоковом драйвера из ядра сработает опция options ixgbe allow_unsupported_sfp ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ThreeDHead Опубликовано 1 марта, 2015 · Жалоба А разве на стоковом драйвера из ядра сработает опция options ixgbe allow_unsupported_sfp ? Да должно http://forum.nag.ru/forum/index.php?showtopic=99541&view=findpost&p=1051516 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Igor Diakonov Опубликовано 3 марта, 2015 · Жалоба Как ни странно, но ndo_xmit_flush (который и анонсирует ядру "я умею обработку кучи пакетов одним блоком") так и нету в новом ixgbe драйвере (3.23.2.1), который вышел 23го февраля. Может кто пнет Intel? Это реально сильно ускорит обработку трафика на Линукс боксах. this particular function was ripped out almost as soon as it landed in the net-next repository. In its place, the sk_buff structure has gained a new Boolean variable called xmit_more. Ну и в ссылке на мейл лист активно обсуждается регрессия при применении предложеного патча... ;) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Igor Diakonov Опубликовано 3 марта, 2015 · Жалоба Производительность повышена за счёт организации групповых операций блокировки очереди, а также заполнения/очистки очереди и взаимодействия с драйвером сетевой карты не на уровне отдельных пакетов, а манипулируя порциями пакетов. Не читайте opennet...читайте оригинальную статью. the process of validating packets for transmission could be moved outside of the queue lock entirely, increasing concurrency in the system. The resulting patch had benefits that Eric described as awesome: full 40Gb/sec wire speed, even in the absence of segmentation offload. Needless to say, this patch, too, has been accepted into the net-next tree for the 3.18 merge window. Патч http://lwn.net/Articles/615243/ вроде как отношения к дровам вообще не имеет - затрагивает только само ядро. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...