Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.LINUX
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.LINUX с датами от 24 Jan 02 06:01:34 до 06 Jul 24 14:38:20, всего сообщений: 8510
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 1632 из 8510 ========================================= RU.LINUX =
От   : Nickita A Startcev               2:5030/777.319     13 Nov 14 22:59:36
Кому : Peter Irich                                         13 Nov 14 22:59:36
Тема : Ubuntu and timers
FGHI : area://RU.LINUX?msgid=2:5030/777.319+54650f0b
На   : area://RU.LINUX?msgid=<1187497443@aspen.stu.neva.ru>+ba7a4cce
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.LINUX?msgid=<1187497505@ddt.demos.su>+c6c90157
Ответ: area://RU.LINUX?msgid=2:5030/1957+5467c484
==============================================================================
Привет, Peter !


 11 Nov 14 , 23:07  Peter Irich писал к All:

PI> Я столкнулся с тем, что в Ubuntu-14.04 в программе на Qt
PI> неточно выдерживается timeout для таймера типа QBasicTimer.
PI> Программа специально проверочная, ничего не делает, только
PI> запускает таймер. Один с периодом 40ms вызывает один слот,
PI> другой с периодом 4ms запускается по его срабатыванию и
PI> вызывает другой слот 8 раз. При этом время между вызовами
PI> 1-го слота колеблется в пределах 40600 - 40618 микросекунд,
PI> а время между вызовами 2-го слота - 4062/4063 микросекунды.
PI> При этом не бывает сбоев в вызове 1-го слота, т.е. на 10000
PI> раз нет ни одного случая, чтобы время было грубо неправильным.

PI> Получается, что на в 10 раз больший timeout и добавка в 10 раз
PI> больше.

PI> В Astra-Linux, основанной на Debian Wheezy, оба timeout'а
PI> выдерживаются с точностью 1 микросекунда - 40000 и 4000, но на
PI> 10000 раз бывает несколько грубо неправильных вызова 1-го слота.
PI> Время получал с помощью gettimeofday(). В обоих системах ядро
PI> скомпилированное, HZ=1000.

PI> Запустил эту программу в Ubuntu-14.04 на ноутбуке с Intel Core i7,
PI> там ещё хуже: вместо 4ms - 4150-4183 микросекунд,
PI> вместо 40ms - 39688-40716 микросекунд.

PI> В чём может быть причина такой отработки интервалов в Ubuntu?
PI> Hаверное, в Ubuntu есть какой-то порок.

по факту, на писюках и прочей убогой интелятинке с тыщей слоёв виртуализации, любой реалтайм идет лесом. для любого реалтайма надо делать разумную внешнюю железку, которая, кстати, стоит копейки.

навскидку. А4 плата контроллера для 5 шаговиков с 10дм3 радиаторами и глючащая от малейшего чиха стоит дороже чем простая ардуина с степстиками (в разы дешевле, быстрее, экономичнее, надежнее, безглючнее), которая сама себе все реалтаймы считает, а извне получает нечто вида "идти по сплайну АБЦДЕ из точки Ф в точку Ж с равной линейной скоростью Х".

то есть, для реалтайма в линуксе в частости и на писюках в частности нужно применять нетривиальные меры.

ps: а вот тут дма и иде возбудились. своп просрался. всех раком на полсекунды. или сеть с дма.

.                                            С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... Думать, впрочем, вообще страшно.
--- GoldED+/LNX 1.1.5-
* Origin: invalid origin or bed-encoding (2:5030/777.319)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.055806 секунды