Добрый день Уважаемые форумчани.Есть приложение с закрытым исходным кодом написанное на C в далёких 90-ых, программа прослушивает и обрабатывает сокеты с заданным количеством тактов в секунду.
Проблема в том что нужно добиться стабильное и высокое количество тактов, пускай это 1000 тактов в секунду. На деле программа выдаёт очень нестабильное значение которое колеблется от 200 до 1000 тактов. При дебаге проложения задержек не выявлено, приложение считывает сокеты(recvfrom) и спит 1мс(nanosleep). Если собрать rt ядро - приложение выдаст эти 1000 тактов, но высокой ценой.
Явно какой-нибудь компонент ядра мешает. Возник вопрос - как получить более подробный отчёт, где возможно будет определить причину задержки.
>[оверквотинг удален]
> Есть приложение с закрытым исходным кодом написанное на C в далёких 90-ых,
> программа прослушивает и обрабатывает сокеты с заданным количеством тактов в секунду.
> Проблема в том что нужно добиться стабильное и высокое количество тактов, пускай
> это 1000 тактов в секунду. На деле программа выдаёт очень нестабильное
> значение которое колеблется от 200 до 1000 тактов. При дебаге проложения
> задержек не выявлено, приложение считывает сокеты(recvfrom) и спит 1мс(nanosleep). Если
> собрать rt ядро - приложение выдаст эти 1000 тактов, но высокой
> ценой.
> Явно какой-нибудь компонент ядра мешает. Возник вопрос - как получить более подробный
> отчёт, где возможно будет определить причину задержки.strace пробовали?