Машина на Linux ядре (тестировал несколько версии, начиная с 2.6.35). Конфигурация ядра собственная на базе конфигурации Slackware 13.0 . Когда ядро не нагружено сеть лагает жутко, если ядро нагружено - лагов нет.Ядро не нагружено, пингуем:
[14:13]> ping 192.168.0.1 | tee cpu_idle0.txt
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_req=1 ttl=64 time=0.272 ms
64 bytes from 192.168.0.1: icmp_req=2 ttl=64 time=6.73 ms
64 bytes from 192.168.0.1: icmp_req=3 ttl=64 time=2.29 ms
64 bytes from 192.168.0.1: icmp_req=4 ttl=64 time=14.9 ms
64 bytes from 192.168.0.1: icmp_req=5 ttl=64 time=8.74 ms
64 bytes from 192.168.0.1: icmp_req=6 ttl=64 time=6.93 msИдет компиляция, загузка 100%:
[14:14]> ping 192.168.0.1 | tee cpu_kernel_compile0.txt
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_req=1 ttl=64 time=0.271 ms
64 bytes from 192.168.0.1: icmp_req=2 ttl=64 time=0.221 ms
64 bytes from 192.168.0.1: icmp_req=3 ttl=64 time=0.214 ms
64 bytes from 192.168.0.1: icmp_req=4 ttl=64 time=0.239 ms
64 bytes from 192.168.0.1: icmp_req=5 ttl=64 time=0.219 ms
64 bytes from 192.168.0.1: icmp_req=6 ttl=64 time=0.253 msСнова простой:
[14:14]> ping 192.168.0.1 | tee cpu_idle1.txt
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_req=1 ttl=64 time=0.275 ms
64 bytes from 192.168.0.1: icmp_req=2 ttl=64 time=7.24 ms
64 bytes from 192.168.0.1: icmp_req=3 ttl=64 time=3.30 ms
64 bytes from 192.168.0.1: icmp_req=4 ttl=64 time=15.9 ms
64 bytes from 192.168.0.1: icmp_req=5 ttl=64 time=12.3 ms
64 bytes from 192.168.0.1: icmp_req=6 ttl=64 time=8.33 ms
64 bytes from 192.168.0.1: icmp_req=7 ttl=64 time=4.35 ms
Снова в нагрузке:
[14:15]> ping 192.168.0.1 | tee cpu_kernel_compile1.txt
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_req=1 ttl=64 time=0.275 ms
64 bytes from 192.168.0.1: icmp_req=2 ttl=64 time=0.226 ms
64 bytes from 192.168.0.1: icmp_req=3 ttl=64 time=0.228 ms
64 bytes from 192.168.0.1: icmp_req=4 ttl=64 time=0.232 ms
64 bytes from 192.168.0.1: icmp_req=5 ttl=64 time=0.252 msЭто пинги. Лбой другой трафик ходит так же плохо.
Более длинный лог: http://pastebin.com/r0TDCgZa (каждые 30 пакетов меняется загрузка ядра. Первые 30 пакетов отсылались с нагруженным ядром, следующие 30 без нагрузки, потом снова 30 с загрузко и т.д. )
Проблема именно в сборке ядра. С live-cd parted такой проблемы нет. Есть ли какие мысли? Куда копать? Нет желания с неделю перебирать опции ядра чтобы получить исправно работающее.
Разобрался. Почти случайно удалось вычислить причину такого поведения ядра. Если выгрузить (или не грузить при загрузке) модуль processor.ko (acpi подсистема) то проблемы нет. Сетевуха обслуживается модулем via-rhine.ko
Надо бы разобраться кто из них виноват, но уровень не тот :(.
Разобрался кто виноват. Пришел к выводу что плохо реализован модуль via-rhine.