summary refs log tree commit diff
path: root/include/sound
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2010-01-21 10:32:15 +0100
committerJaroslav Kysela <perex@perex.cz>2010-01-21 10:32:15 +0100
commitc91a988dc6551c66418690e36b2a23cdb0255da8 (patch)
treecbb408377b15488d4b45feb2f3d88a616f159814 /include/sound
parentd1db38c015a392b0ea8c15ab95abb3ee768b8d47 (diff)
downloadlinux-c91a988dc6551c66418690e36b2a23cdb0255da8.tar.gz
ALSA: pcm_core: Fix wake_up() optimization
This change fixes the "ALSA: pcm_lib - optimize wake_up() calls for PCM I/O"
commit. New sleeping queue is introduced to separate user space and kernel
space wake_ups. runtime->nowake is renamed to twake (transfer wake).

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/pcm.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/include/sound/pcm.h b/include/sound/pcm.h
index e26fb3c58037..3bc9bca771ec 100644
--- a/include/sound/pcm.h
+++ b/include/sound/pcm.h
@@ -311,8 +311,9 @@ struct snd_pcm_runtime {
 	struct snd_pcm_mmap_control *control;
 
 	/* -- locking / scheduling -- */
-	unsigned int nowake: 1;		/* no wakeup (data-copy in progress) */
-	wait_queue_head_t sleep;
+	unsigned int twake: 1;		/* do transfer (!poll) wakeup */
+	wait_queue_head_t sleep;	/* poll sleep */
+	wait_queue_head_t tsleep;	/* transfer sleep */
 	struct fasync_struct *fasync;
 
 	/* -- private section -- */