Исправление slamd64, (текущая версия) :
В общем, там таймер с периодом в период. Всё было бы замечательно, если таймеры были абсолютно точными.
...
Это не в ядре, это в alsa-lib.
Да ну? Для menuconfig (выдирать теги из .config мне лень)
General setup -> Timers subsystem
И все параметры там внутри - как раз об этом.
Во-первых, можно включить HRT. Для той самой абсолютной точности.
Во-вторых, главное, в Timer tick handling включить Periodic timer ticks (constant rate, no dynticks) вместо Full dynticks (tickless) - как раз будут жесткие периоды, а не динамические.
Ну ещё имеет смысл включить HPET в Device drivers -> Character devices и в ALSA включить HR-timer backend support с Use HR-timer as default sequencer timer.
Проблема в том, что «умные» разрабы шапок-дебиланов имеют обыкновение собирать вёдра с Full dynticks ... а потом всякие погромисты возмущаются на ALSA и проповедуют пульсу... :(
Исходная версия slamd64, :
В общем, там таймер с периодом в период. Всё было бы замечательно, если таймеры были абсолютно точными.
...
Это не в ядре, это в alsa-lib.
Да ну? Для menuconfig (выдирать теги из .config мне лень) General setup -> Timers subsystem И все параметры там внутри - как раз об этом. Во-первых, можно включить HRT. Для той самой абсолютной точности. Во-вторых, главное, в Timer tick handling включить Periodic timer ticks (constant rate, no dynticks) вместо Full dynticks (tickless) - как раз будут жесткие периоды, а не динамические.
Ну ещё имеет смысл включить HPET в Device drivers -> Character devices и в ALSA включить HR-timer backend support с Use HR-timer as default sequencer timer.
Проблема в том, что «умные» разрабы шапок-дебиланов имеют обыкновение собирать вёдра с Full dynticks ... а потом всякие погромисты возмущаются на ALSA и проповедуют пульсу... :(