Здравствуйте!
Я столкнулся с тем, что в Ubuntu-14.04 в программе на Qt неточно выдерживается timeout
для таймера типа QBasicTimer. Программа специально проверочная, ничего не делает,
только запускает таймер. Один с периодом 40ms вызывает один слот, другой с периодом 4ms
запускается по его срабатыванию и вызывает другой слот 8 раз. При этом время между вызовами
1-го слота колеблется в пределах 40600 - 40618 микросекунд, а время между вызовами 2-го слота -
4062/4063 микросекунды. При этом не бывает сбоев в вызове 1-го слота, т.е. на 10000 раз нет ни
одного случая, чтобы время было грубо неправильным.
В Astra-Linux, основанной на Debian Wheezy, оба timeout'а выдерживаются с точностью 1 микросекунда -
40000 и 4000, но на 10000 раз бывает несколько грубо неправильных вызова 1-го слота. Время получал
с помощью gettimeofday(). В обоих системах ядро скомпилированное, HZ=1000.
В чём может быть причина такой отработки интервалов в Ubuntu?