Hi,
this is a patch set to refactor the PCM locking code and to reduce the global lock. At least, this gets rid of the global rwlock, while the global rwsem is still needed for some non-atomic ops and for avoiding the deadlock at linking.
Takashi
===
Takashi Iwai (7): ALSA: pcm: Call snd_card_unref() inside in_pcm_file() ALSA: pcm: Unify snd_pcm_group initialization ALSA: pcm: Make PCM linked list consistent while re-grouping ALSA: pcm: Avoid confusing loop in snd_pcm_unlink() ALSA: pcm: More fine-grained PCM link locking ALSA: pcm: Remove down_write() hack for snd_pcm_link_rwsem ALSA: pcm: Cleanup snd_pcm_stream_lock() & co
include/sound/pcm.h | 3 +- sound/core/pcm.c | 4 +- sound/core/pcm_local.h | 1 + sound/core/pcm_native.c | 290 ++++++++++++++++++++++++++++-------------------- 4 files changed, 171 insertions(+), 127 deletions(-)