----- Исходное сообщение ----- > От: "Sergey" <a_...@sama.ru> > Кому: "ALT Linux sysadmins' discussion" <sysadmins@lists.altlinux.org> > Отправленные: Пятница, 10 Февраль 2012 г 17:52:51 > Тема: Re: [Sysadmins] А что у нас с SMP на Intel S5500BC / Xeon E5607 ? > > On Friday, February 10, 2012 15:58:30 Alexei Takaseev wrote: > > > > > Вернул на место Intel S3210SH / Intel Core2 Quad Q8300. > > > > Процессы снова нормально раскидываются по ядрам. > > > > > > Ещё забавнее... Сборка ядра на S5500BC/E5607 распараллеливается > > > совершенно нормально. Получается, что тип задачи ещё влияет. > > > Грабля была с обработкой трафика. > > > > сетевух сколько ? > > Много. Две бортовых у той и у другой материнки, плюс ещё 4, одна > из которых четырёхпортовка. > > > есть ли в них отдельные очереди* > > Для 82572EI/82571EB пишут, что > > Intel® I/O Acceleration Technology > 2Tx, 2Rx queues, message signaled interrupts, receive side scaling, > header splitting > > но, наверное, это не очень важно, так как 4 переставлялись, как есть, > и сейчас > они же и работают. Менялись только бортовые. У S5500BC это > > 00:19.0 Ethernet controller: Intel Corporation 82567LM-2 Gigabit > Network Connection > 01:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network > Connection > > Что сейчас нормально работает на S3210SH/Q8300: > > Бортовые: > 00:19.0 Ethernet controller: Intel Corporation 82566DM-2 Gigabit > Network Connection (rev 02) > 08:02.0 Ethernet controller: Intel Corporation 82541GI Gigabit > Ethernet Controller (rev 05) > > Две PCI-e: > 01:00.0 Ethernet controller: Intel Corporation 82572EI Gigabit > Ethernet Controller (Copper) (rev 06) > 02:00.0 Ethernet controller: Intel Corporation 82572EI Gigabit > Ethernet Controller (Copper) (rev 06) > > четырёхпортовка PCI-e > http://ark.intel.com/products/50496/Intel-PRO1000-PT-Quad-Port-Server-Adapter > 05:00.0 Ethernet controller: Intel Corporation 82571EB Gigabit > Ethernet Controller (Copper) (rev 06) > 05:00.1 Ethernet controller: Intel Corporation 82571EB Gigabit > Ethernet Controller (Copper) (rev 06) > 06:00.0 Ethernet controller: Intel Corporation 82571EB Gigabit > Ethernet Controller (Copper) (rev 06) > 06:00.1 Ethernet controller: Intel Corporation 82571EB Gigabit > Ethernet Controller (Copper) (rev 06) > > Старенькая PCI (точно не скажу, какая): > 08:01.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet > Pro 100 (rev 08)
Похоже, что дело таки в материнке. И самый оптимальный вариант - растащить прерывания сетевух на отдельные ядра вручную через smp_affinity. У себя я это таким скриптом сделал: --- #!/bin/sh P=`find /proc/irq -name 'eth0-rx-0' -print | sed 's@/eth0-rx-0@@'` echo "1" > ${P}/smp_affinity P=`find /proc/irq -name 'eth0-tx-0' -print | sed 's@/eth0-tx-0@@'` echo "2" > ${P}/smp_affinity P=`find /proc/irq -name 'eth1-rx-0' -print | sed 's@/eth1-rx-0@@'` echo "4" > ${P}/smp_affinity P=`find /proc/irq -name 'eth1-tx-0' -print | sed 's@/eth1-tx-0@@'` echo "8" > ${P}/smp_affinity --- irqbalance для этого лучше не использовать. наличие очередей можно определить через cat /proc/interrupts: 46: 2491993875 3178910304 0 0 PCI-MSI-edge eth0-rx-0 47: 810336516 3558468146 0 0 PCI-MSI-edge eth0-tx-0 48: 629 0 0 1712 PCI-MSI-edge eth0 49: 366255653 0 1973013332 0 PCI-MSI-edge eth1-rx-0 50: 1308353038 0 0 2840998644 PCI-MSI-edge eth1-tx-0 51: 995 0 2643 0 PCI-MSI-edge eth1 как раз иллюстрация севшей на одно ядро сети, которую потом растолкал по полкам вручную. _______________________________________________ Sysadmins mailing list Sysadmins@lists.altlinux.org https://lists.altlinux.org/mailman/listinfo/sysadmins