Alsa waking up pulseaudio too frequently on Mako (Nexus 4)
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | android (Ubuntu) |
Undecided
|
Unassigned | ||
| | pulseaudio (Ubuntu) |
Undecided
|
Unassigned | ||
Bug Description
current build number: 206
device name: mako
channel: trusty-proposed
last update: 2014-02-25 02:02:15
version version: 206
version ubuntu: 20140224
version device: 20140224
Just boot the image with mako, enable debug loglevel in pulse, and you can easily see alsa waking up pulse quite frequently after maliit-server is started.
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] module-
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] core.c: Hmm, no streams around, trying to vacuum.
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] sink-input.c: Freeing input 0 "pulsesink probe"
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] module-
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] module-
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] memblockq.c: memblockq requested: maxlength=33554432, tlength=0, base=4, prebuf=0, minreq=1 maxrewind=0
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] memblockq.c: memblockq sanitized: maxlength=33554432, tlength=33554432, base=4, prebuf=0, minreq=4 maxrewind=0
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] sink-input.c: Created input 1 "Playback Stream" on alsa_output.
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] sink-input.c: media.name = "Playback Stream"
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] sink-input.c: application.name = "maliit-server"
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] sink-input.c: native-
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] sink-input.c: native-
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] sink-input.c: application.
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] sink-input.c: application.
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] sink-input.c: application.
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] sink-input.c: application.
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] sink-input.c: application.
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] sink-input.c: application.
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] sink-input.c: application.
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] sink-input.c: module-
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] protocol-native.c: Requested tlength=200.00 ms, minreq=10.00 ms
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] protocol-native.c: Adjust latency mode enabled, configuring sink latency to half of overall latency.
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] protocol-native.c: Requested latency=90.00 ms, Received latency=90.00 ms
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] memblockq.c: memblockq requested: maxlength=4194304, tlength=19404, base=4, prebuf=0, minreq=1764 maxrewind=0
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] memblockq.c: memblockq sanitized: maxlength=4194304, tlength=19404, base=4, prebuf=0, minreq=1764 maxrewind=0
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [pulseaudio] protocol-native.c: Final latency 200.00 ms = 90.00 ms + 2*10.00 ms + 90.00 ms
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:03 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:08 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:08 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:08 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:09 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:09 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:09 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:09 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:09 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:12 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:15 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:15 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:16 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:17 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:20 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:20 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:20 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:20 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:21 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:28 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:31 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:36 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:41 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:41 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:44 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:44 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:54:47 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
....
Feb 25 02:55:00 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:55:19 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
Feb 25 02:55:30 ubuntu-phablet pulseaudio[1881]: [alsa-sink-
| Ricardo Salveti (rsalveti) wrote : | #1 |
| Ricardo Salveti (rsalveti) wrote : | #2 |
Also the following, from time to time:
Feb 24 15:30:46 ubuntu-phablet pulseaudio[1903]: [alsa-sink-
Feb 24 15:30:47 ubuntu-phablet pulseaudio[1903]: [alsa-sink-
Feb 24 15:30:47 ubuntu-phablet pulseaudio[1903]: [alsa-sink-
Feb 24 15:30:47 ubuntu-phablet pulseaudio[1903]: message repeated 10 times: [ [alsa-sink-
Feb 24 15:30:48 ubuntu-phablet pulseaudio[1903]: [alsa-sink-
Feb 24 15:30:48 ubuntu-phablet pulseaudio[1903]: [alsa-sink-
Feb 24 15:30:48 ubuntu-phablet pulseaudio[1903]: [alsa-sink-
Feb 24 15:30:52 ubuntu-phablet pulseaudio[1903]: [alsa-sink-
Feb 24 15:30:52 ubuntu-phablet pulseaudio[1903]: [alsa-sink-
Feb 24 15:30:52 ubuntu-phablet pulseaudio[1903]: [alsa-sink-
Feb 24 15:30:54 ubuntu-phablet pulseaudio[1903]: [alsa-sink-
Feb 24 15:30:54 ubuntu-phablet pulseaudio[1903]: [alsa-sink-
Feb 24 15:30:55 ubuntu-phablet pulseaudio[1903]: [alsa-sink-
....
| David Henningsson (diwic) wrote : [PATCH] suspend-on-idle: Ensure we still time out if a stream remains corked | #3 |
If a stream is started corked and remains corked, the sink/source
remained idle without being properly suspended. This patch fixes
that issue.
BugLink: https:/
Tested-by: Ricardo Salveti <email address hidden>
Signed-off-by: David Henningsson <email address hidden>
---
src/modules/
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/modules/
index 0585e51..a4f90e0 100644
--- a/src/modules/
+++ b/src/modules/
@@ -141,10 +141,14 @@ static pa_hook_result_t sink_input_
/* We need to resume the audio device here even for
* PA_SINK_
- * to be fully available while the stream is set up. */
+ * to be fully available while the stream is set up. In that case,
+ * make sure we close the sink again after the timeout interval. */
- if ((d = pa_hashmap_
+ if ((d = pa_hashmap_
resume(d);
+ if (d->sink && pa_sink_
+ restart(d);
+ }
return PA_HOOK_OK;
}
@@ -161,8 +165,11 @@ static pa_hook_result_t source_
else
d = pa_hashmap_
- if (d)
+ if (d) {
resume(d);
+ if (d->source && pa_source_
+ restart(d);
+ }
return PA_HOOK_OK;
}
--
1.7.9.5
| Launchpad Janitor (janitor) wrote : | #4 |
This bug was fixed in the package pulseaudio - 1:4.0-0ubuntu9
---------------
pulseaudio (1:4.0-0ubuntu9) trusty; urgency=medium
* 0205-suspend-
- Properly suspending sink/source if the stream started corked and remains
corked (LP: #1284415)
-- Ricardo Salveti de Araujo <email address hidden> Tue, 25 Feb 2014 16:37:26 -0300
| Changed in pulseaudio (Ubuntu): | |
| status: | New → Fix Released |
| Changed in android (Ubuntu): | |
| status: | New → Invalid |


Pulseaudio continuously use ~2% of the cpu on mako.
perf's top output: 4.0.so [.] __udivsi3 4.0.so [.] __gnu_uldivmod_ helper status_ get_avail 4.0.so [.] pa_hashmap_iterate read_after_ poll 4.0.so [.] __aeabi_uldivmod
2.28% libpulsecommon-
1.86% libpulsecommon-
1.80% libasound.so.2.0.0 [.] snd_pcm_
1.58% libpulsecommon-
0.98% libpulsecore-4.0.so [.] flush_postq
0.89% libpulsecore-4.0.so [.] pa_asyncmsgq_
0.79% libpulsecommon-