Bug 21758 - Замечается затормаживание сети с картой "via_rhine"
Summary: Замечается затормаживание сети с картой "via_rhine"
Status: CLOSED WORKSFORME
Alias: None
Product: Sisyphus
Classification: Development
Component: kernel-image-std-def (show other bugs)
Version: unstable
Hardware: all Linux
: P3 major
Assignee: Vitaly Chikunov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-28 15:52 MSD by Roman Savochenko
Modified: 2011-01-13 15:28 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Roman Savochenko 2009-09-28 15:52:56 MSD
Прочитал много постов, по тому как крив "via_rhine" и что для фиксинга часто помогает опция ядра "pci=noacpi".

Однако после трёх суток нормальной работы сеть опять затормозилась.

Торможение заключается в падении скорости почти на порядок, при этом логи и dmesg молчат.

Нашёл тут ещё такие, похожие, симптомы:
http://www.opennet.ru/openforum/vsluhforumID1/84739.html
Где проблему исправляют патчем к 2.6.29.

Не могли бы Вы наложить этот патч?
Нужно именно ядро 2.6.29 в виду его "RT".
Comment 1 Roman Savochenko 2009-10-02 22:21:38 MSD
Подскажите как его хоть собирать.
Собираю из стандартного пользователя пакет kernel-image-rt-up-2.6.29-alt2.src.rpm и получаю:
/bin/sh: line 1: 13791 Bus error               perl kernel/timeconst.pl 250 > kernel/timeconst.h
make[1]: *** [kernel/timeconst.h] Error 135
make: *** [kernel] Error 2
make: *** Waiting for unfinished jobs....
Comment 2 Roman Savochenko 2009-10-03 12:37:19 MSD
Смотрю в общем патче 2.6.29-rt-up.alt2 указанный мною патч есть.

Хотя не совсем понятно назначение этого патча: http://patchwork.kernel.org/patch/14074

Что же ещё тогда попробовать?
На 2.6.30 перейти не могу по причине наличия пары коммерческих драйверов, которые уже не резолвят несколько символов в 2.6.30. Да и уверенности в том, что на 2.6.30 всё будет нормально нет.

Попробую наверное откатиться на 2.6.18. Может с включенным ACPI он даст нормальную частоту таймера реального времени.
Comment 3 Michael Shigorin 2009-10-03 20:04:42 MSD
http://www.bitwizard.nl/sig11/?
Comment 4 Roman Savochenko 2009-10-04 17:03:24 MSD
(In reply to comment #3)
> http://www.bitwizard.nl/sig11/?
Это ты к чему?
Если к сборке ядра, так это или perl валится, который в настоящий момент в репозитории, или перловый скрипт ядра кривой. Я склонен считать первое. Результат независимого вызова перла для проблемного скрипта:
# perl kernel/timeconst.pl
Bus error

Кстати, вопрос о том чтобы несчастные три перловых скрипта сборки заменить на шеловские уже поднимался и такие патчи уже есть. Можно этот случай считать аргументом за.

А это ядро на текущем сизифе вообще пересобирается?
Comment 5 Roman Savochenko 2009-10-09 10:31:39 MSD
Ну так, можно пересобрать указанное ядро?
Ибо в нём определённо проблемы с сетевым стеком.
Ситуация подвисания сокетов упорно повторяется при различных настройках сетевых карт и на различных прерываниях.

Лечится только перегрузкой сети, т.е. фактическим сбросом всех сокетов.

Была мысль, что сокет тормозит из-за удержания открытым клиентского сокета всё время работы. Сделал открытие клиентского сокета, а затем закрытие по каждому запросу, тормознуло часов через пять.

P.S. Проясните в конце концов статус этих ядер. Если они никак вообще не поддерживаются и даже не собираются я начну делать подвижки для перехода на 2.6.30.
Comment 6 Michail Yakushin 2009-10-09 10:53:04 MSD
вы пользуетесь xenomai? 
дело в том что эти ядра практически не тестированы, они работают на имеющемся оборудовании но не более того.
Comment 7 Roman Savochenko 2009-10-09 15:45:29 MSD
(In reply to comment #6)
> вы пользуетесь xenomai? 
Желательно иметь для повышения равномерности периода сбора данных на 5КГц при прямом пулинге.

В принципе, подобное обеспечивает и 2.6.30, но степень равномерности проверить возможности нет. Надо опять напрягать разработчиков железки на предмет пересборки их драйвера для 2.6.30.

Поэтому и съезжать тяжело.

> дело в том что эти ядра практически не тестированы, они работают на имеющемся
> оборудовании но не более того.
А пересобираются сейчас? :)
Comment 8 Roman Savochenko 2009-10-10 10:04:42 MSD
Кстати эта проблема проявляется и на 2.6.30-alt13.
Причём другой нагрузки фактически небыло и особенно быстро это происходит при отключеном Keep-alive, в течении 5 часов.
Перевешиваю на std-def.
Какие предложения чего глянуть и чего попробовать?
Comment 9 Roman Savochenko 2009-10-17 10:40:37 MSD
Похоже у этой баги большая борода и она засвечена минимум с 2004 года (https://bugzilla.redhat.com/show_bug.cgi?id=129304).

Бага в драйвере via_rhine, а он не менялся с 2006 года.
Правится только установкой драйвера произвдителя (VIA - rhinefet), который в свою очередь давно не собирается на современных ядрах, да и обновлялся последний раз в 2007 году. Я его адаптировал для современных ядер, установил и проблемы пока не замечал.

Резюме: Ситуация патовая. Нужно или фиксить via_rhine или допатчить и вложить в ядро драйвер rhinefet. Повышаю уровень до критичного. Что будем делать? Или мне выходить прямо на багзилу ядра?
Comment 10 Michael Shigorin 2009-10-17 12:25:56 MSD
Да хоть ты здесь пиши, что эта бага представляет угрозу существования человечества -- если не доходят руки, чем это поможет?  Вот тебе бы помогло, если б на не тот цвет индикатора вешали критикалы и это замыливало глаз при попытке пересмотреть действительно суровые баги -- с потерей данных, скажем?

Ром, если срочное -- не жди от других, делай сам или договорные отношения (и тогда всё равно тоже лучше делай сам).  Сэкономишь много нервов и обычно время тоже.

Если тебе чем-то поможет -- давай помогу с прохождением краткого курса сборщика ядра (всё на вики), будет работающий фикс -- в std-def смержат, думаю.
Comment 11 Roman Savochenko 2009-10-17 13:55:05 MSD
(In reply to comment #10)
> Да хоть ты здесь пиши, что эта бага представляет угрозу существования
> человечества -- если не доходят руки, чем это поможет?
А я и не предлагаю мантейнеру лично фиксить эту багу. Я подразумеваю, что мантейнер перебросит эту багу куда положено. Или, если ему некогда, то я сам переброшу куда нужно, если покажут куда. Вопрос только в том, что если это сделаю я, то я не смогу квалифицированно отвечать на вопросы о том в каком окружении, с какими патчами, с какими особенностями собрано ядро.

> Ром, если срочное -- не жди от других, делай сам или договорные отношения (и
> тогда всё равно тоже лучше делай сам).  Сэкономишь много нервов и обычно время
> тоже.
А я и не ждал, если ты не заметил. Я нашёл решение, и кроме того приложил усилия к адаптации к современным ядрам. А пофиксить модуль via_rhine я не могу, хотябы по тому, что тонкостей его работы и работы железки я не знаю, и думаю, что это мог-бы квалифицированно сделать его разработчик или мантейнер.
 
> Если тебе чем-то поможет -- давай помогу с прохождением краткого курса сборщика
> ядра (всё на вики), будет работающий фикс -- в std-def смержат, думаю.
Я и так умею их собирать. Если конечно в окружение ОС не лежат тулзы, которые скрипты ядра уже не выполняют, это я про perl. Единственно в чём осталось разобраться это в предупреждении ядра о наличии элемента в дереве proc при запуске модуля, который он сейчас выдаёт. И тогда можно было-бы модуль "rhinefet" выложить в репозиторий.
Comment 12 Michael Shigorin 2009-10-17 14:05:30 MSD
(In reply to comment #11)
> (In reply to comment #10)
> А я и не предлагаю мантейнеру лично фиксить эту багу. Я подразумеваю, что
> мантейнер перебросит эту багу куда положено. Или, если ему некогда, то я сам
> переброшу куда нужно, если покажут куда.
http://bugzilla.kernel.org (ты и так знаешь, думаю).

> Вопрос только в том, что если это сделаю я, то я не смогу квалифицированно
> отвечать на вопросы о том в каком окружении, с какими патчами, с какими
> особенностями собрано ядро.
Ну /boot/config от него-то привесить сможешь.

> А пофиксить модуль via_rhine я не могу,  хотябы по тому, что тонкостей его
> работы и работы железки я не знаю, и думаю, что это мог-бы квалифицированно
> сделать его разработчик или мантейнер.
Только разработчик.  Майнтейнер -- опять же только квалификации разработчика применительно к данному модулю.  Поэтому с драйверами всё же лучше сразу в апстрим писать.
Comment 13 Roman Savochenko 2010-01-31 10:52:07 MSK
Уведомление об этой ошибке поместил сюда: http://bugzilla.kernel.org/show_bug.cgi?id=14702
Comment 14 Roman Savochenko 2011-01-13 15:28:03 MSK
Прикроем по неопределённости, пока.
Если кому интересен драйвер rhinefet, то патч для его сборки можно получить здесь: http://wiki.oscada.org/Doc/ICPDAS/files?get=build_2.6.29.patch