diff options
author | Jaroslav Kysela <perex@perex.cz> | 2010-01-21 10:32:15 +0100 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2010-01-21 10:32:15 +0100 |
commit | c91a988dc6551c66418690e36b2a23cdb0255da8 (patch) | |
tree | cbb408377b15488d4b45feb2f3d88a616f159814 /include/sound | |
parent | d1db38c015a392b0ea8c15ab95abb3ee768b8d47 (diff) | |
download | lwn-c91a988dc6551c66418690e36b2a23cdb0255da8.tar.gz lwn-c91a988dc6551c66418690e36b2a23cdb0255da8.zip |
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.h | 5 |
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 -- */ |