[alsa-devel] [RFC] disabling ALSA period interrupts

pl bossart bossart.nospam at gmail.com
Fri May 14 06:39:22 CEST 2010

> AFAIU, the only issue is lack of ability to fine-tune period size of
> DMA runtime.
> Otherwise, for the requirement, having period-size almost equal
> to ring-buffer serves better than disabling interrupts and using timer
> based updating, more so for VMs with inaccurate timer source.
> Then I think, rather then providing a way to disable hw-intr, we'd
> better provide
> a way to modify runtime period-size at DMA Driver level, and
> snd_pcm_period_elapsed seems already capable to handle that.
> That way, disabled interrupts would just be a special case with
> period-size := ULONG_MAX.

Is this a realistic option? With the majority of existing hardware
period interrupts are programmed with a flag set in a descriptor when
the DMA linked list is created. That includes HDAudio and numerous
others. I am skeptical that one could reliably modify these
descriptors at run-time, specifically in the case where the controller
caches the descriptors. Modifying the linked list would likewise
generate race conditions.
I still view timers are the lesser of two evils.

More information about the Alsa-devel mailing list