URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 8221
[ Назад ]

Исходное сообщение
"Почти квантовая физика: влияние инструмента на результат экспер"

Отправлено geekkoo , 17-Апр-09 19:02 
Может ли strace повлиять на ход выполнения программы, которая запущена под ним? У меня какой-то глюк, что программа, запущенная под strace-ом, быстрее выходит из select-а (на два сокета), чем сама по себе. Ядро Линукс нестандартное, оно почему-то тормозит в select-e, но протрейсить я это не могу. Стоит только запустить сервер под strace, как сразу все тормоза исчезают (причем существенные).

Что это может быть? Каким образом strace модифицирует системный вызов? Советы типа "пить надо меньше" с негодованием отметаю.

Спасибо.


Содержание

Сообщения в этом обсуждении
"Почти квантовая физика: влияние инструмента на результат экс..."
Отправлено Андрей , 17-Апр-09 23:08 
выходит из select по таймауту или по получении данных?

при использовании strace изменяеся тайминг выполнения программы.
код программы и библиотек не меняется,


"Почти квантовая физика: влияние инструмента на результат экс..."
Отправлено geekkoo , 17-Апр-09 23:32 
>выходит из select по таймауту или по получении данных?
>
>при использовании strace изменяеся тайминг выполнения программы.
>код программы и библиотек не меняется,

Таймаут там NULL, т.е. бесконечный. Так что выходит он из select-а по получению данных. Я допускаю, что тормоза могут быть связаны с ошибками в ядре, так что select не может сразу проснуться при получении данных и какое-то время просто висит. Но что меняется при запуске под strace-ом, что вдруг неожиданно тормоза пропадают?


"Почти квантовая физика: влияние инструмента на результат экс..."
Отправлено Андрей , 17-Апр-09 23:39 
можно ещё попробовать вставить printk в код select-а.



"Почти квантовая физика: влияние инструмента на результат экс..."
Отправлено DeadMustdie , 18-Апр-09 15:55 
>можно ещё попробовать вставить printk в код select-а.

Пожалуй, единственный реально рабочий вариант (кроме разве что ещё запуска ядра в отладке, но это IMHO вообще шаманство)


"Почти квантовая физика: влияние инструмента на результат экс..."
Отправлено geekkoo , 06-Май-09 16:46 
>[оверквотинг удален]
>У меня какой-то глюк, что программа, запущенная под strace-ом, быстрее выходит
>из select-а (на два сокета), чем сама по себе. Ядро Линукс
>нестандартное, оно почему-то тормозит в select-e, но протрейсить я это не
>могу. Стоит только запустить сервер под strace, как сразу все тормоза
>исчезают (причем существенные).
>
>Что это может быть? Каким образом strace модифицирует системный вызов? Советы типа
>"пить надо меньше" с негодованием отметаю.
>
>Спасибо.

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

"Загадка подобная Бермудскому треугольнику"


"Почти квантовая физика: влияние инструмента на результат экс..."
Отправлено DeadMustdie , 02-Июл-09 14:20 
>Будете смеяться, но оказалось, что это хардварная проблема. Смена сетевой карточки и
>драйвера эту проблему решила - все лаги неожиданно пропали.
>
>"Загадка подобная Бермудскому треугольнику"

Может, и не хардверная. Бывают ещё глюкавые драйверы.