[alsa-devel] Locking/mutex for snd_pcm_update_hw_ptr0() call
Clemens Ladisch
clemens at ladisch.de
Mon Nov 7 16:40:01 CET 2016
Alan Young wrote:
> On 07/11/16 14:15, Clemens Ladisch wrote:
>> Alan Young wrote:
>>> It is possible that the DMA interrupt handler could call
>>> snd_pcm_update_hw_ptr0() while it is part way through a call
>>> from snd_pcm_status(), or vice versa?
>>
>> The *lock_irq* functions disable interrupts on the current CPU.
>
> But only on the current CPU? So that would imply that multiple threads
> could execute snd_pcm_update_hw_ptr0() simultaneously on multi-CPU
> systems.
That's what the lock is for.
> I presume that the interrupt handler cannot be pre-empted by a user-
> space call such as snd_pcm_status().
During execution of an interrupt handler, interrupts also are disabled.
Regards,
Clemens
More information about the Alsa-devel
mailing list