2010/7/22 Chris <cpollock@xxxxxxxxxxxxxx> > On Wed, 2010-07-21 at 16:17 +0800, Raymond Yau wrote: > > 2010/7/21 Chris <cpollock@xxxxxxxxxxxxxx> > > > > > Before I try the above Raymond, what would cause the below when the > > > system is sitting here basically idle? I'm not even home to do anything > > > when this happened? > > > > > > > Jul 20 11:32:43 localhost pulseaudio[28711]: asyncq.c: q overrun, > > > queuing locally > > > Jul 20 11:32:45 localhost pulseaudio[28711]: ratelimit.c: 240 events > > > suppressed > > > Jul 20 11:32:45 localhost pulseaudio[28711]: asyncq.c: q overrun, > > > queuing locally > > > Jul 20 11:32:45 localhost pulseaudio[28711]: asyncq.c: q overrun, > > > queuing locally > > > Jul 20 11:32:45 localhost pulseaudio[28711]: asyncq.c: q overrun, > > > queuing locally > > > Jul 20 11:32:45 localhost pulseaudio[28711]: asyncq.c: q overrun, > > > queuing locally > > > Jul 20 11:32:45 localhost pulseaudio[28711]: asyncq.c: q overrun, > > > queuing locally > > > Jul 20 11:32:45 localhost pulseaudio[28711]: asyncq.c: q overrun, > > > queuing locally > > > Jul 20 11:32:45 localhost pulseaudio[28711]: asyncq.c: q overrun, > > > queuing locally > > > Jul 20 11:32:45 localhost pulseaudio[28711]: asyncq.c: q overrun, > > > queuing locally > > > Jul 20 11:32:45 localhost pulseaudio[28711]: asyncq.c: q overrun, > > > queuing locally > > > Jul 20 11:32:45 localhost pulseaudio[28711]: asyncq.c: q overrun, > > > queuing locally > > > Jul 20 11:32:45 localhost pulseaudio[28711]: asyncq.c: q overrun, > > > queuing locally > > > > > > > > I don't think the system is idle , you still have the > > gnome-volume-mixer-applet / kmix connected to PA server using pulse api > > > > pactl stat > > > > pactl list > > > > you have to ask PA developers because I cannot reproduce "asyncq.c: q > > overrun," in the virtualbox > > Raymond, outputs of above are here: > > http://pastebin.com/db20pXi9 > > > you only have three PA clients when your system is idle, 1. Client #0 2. Driver: module-console-kit.c 3. Properties: 4. application.name = "ConsoleKit Session /org/freedesktop/ConsoleKit/Session9" 5. console-kit.session = "/org/freedesktop/ConsoleKit/Session9" 6. 7. Client #1 8. Driver: protocol-native.c 9. application.name = "GNOME Volume Control Media Keys" 10. native-protocol.peer = "UNIX socket client" 11. native-protocol.version = "16" 12. application.id = "org.gnome.VolumeControl" 13. application.icon_name = "multimedia-volume-control" 14. application.version = "2.30.2" 15. application.process.id = "30012" 16. application.process.user = "chris" 17. application.process.host = "localhost" 18. application.process.binary = "gnome-settings-daemon" 19. application.language = "en_US.utf8" 20. window.x11.display = ":0.0" 21. 22. Client #2 23. Driver: protocol-native.c 24. application.name = "GNOME Volume Control Applet" 25. native-protocol.peer = "UNIX socket client" 26. native-protocol.version = "16" 27. application.id = "org.gnome.VolumeControl" 28. application.icon_name = "multimedia-volume-control" 29. application.version = "2.30.0" 30. application.process.id = "30031" 31. application.process.user = "chris" 32. application.process.host = "localhost" 33. application.process.binary = "gnome-volume-control-applet" 34. application.language = "en_US.utf8" 35. window.x11.display = ":0.0" on Fedora 10 , there are 17 PA clients when I just open gnome-terminal to run pactl consolekit, x11-xsmp, nm-applet, imsetting-applet, gnome-panel, trashapplet, wnckapplet, nautilus, clock-applet, mixer2-applet, gdm-user-switch-applet, notification-area-applet, mono, meta-city, gnome-terminal, gpk-update-icon and pactl Just look at the driver modules, they only post PA_CORE_MESSAGE_UNLOAD_MODULE and PA_MESSAGE_SHUTDOWN , and wait for PA_MESSAGE_SHUTDOWN i.e. the driver modules are unlikely to cause "asyncq overrun" grep -ir "pa_asyncmsgq" * alsa/alsa-sink.c: pa_asyncmsgq_post(u->thread_mq.outq, PA_MSGOBJECT(u->core), PA_CORE_MESSAGE_UNLOAD_MODULE, u->module, 0, NULL, NULL); alsa/alsa-sink.c: pa_asyncmsgq_wait_for(u->thread_mq.inq, PA_MESSAGE_SHUTDOWN); alsa/alsa-sink.c: pa_asyncmsgq_send(u->thread_mq.inq, NULL, PA_MESSAGE_SHUTDOWN, NULL, 0, NULL); alsa/alsa-source.c: pa_asyncmsgq_post(u->thread_mq.outq, PA_MSGOBJECT(u->core), PA_CORE_MESSAGE_UNLOAD_MODULE, u->module, 0, NULL, NULL); alsa/alsa-source.c: pa_asyncmsgq_wait_for(u->thread_mq.inq, PA_MESSAGE_SHUTDOWN); alsa/alsa-source.c: pa_asyncmsgq_send(u->thread_mq.inq, NULL, PA_MESSAGE_SHUTDOWN, NULL, 0, NULL); bluetooth/module-bluetooth-device.c: pa_asyncmsgq_post(u->thread_mq.outq, PA_MSGOBJECT(u->core), PA_CORE_MESSAGE_UNLOAD_MODULE, u->module, 0, NULL, NULL); bluetooth/module-bluetooth-device.c: pa_asyncmsgq_wait_for(u->thread_mq.inq, PA_MESSAGE_SHUTDOWN); bluetooth/module-bluetooth-device.c: pa_asyncmsgq_send(u->thread_mq.inq, NULL, PA_MESSAGE_SHUTDOWN, NULL, 0, NULL); coreaudio/module-coreaudio-device.c: pa_asyncmsgq *async_msgq; coreaudio/module-coreaudio-device.c: pa_assert_se(pa_asyncmsgq_send(u->async_msgq, PA_MSGOBJECT(u->sinks->pa_sink), coreaudio/module-coreaudio-device.c: pa_assert_se(pa_asyncmsgq_send(u->async_msgq, PA_MSGOBJECT(u->sources->pa_source), coreaudio/module-coreaudio-device.c: pa_asyncmsgq_post(u->thread_mq.outq, PA_MSGOBJECT(u->module->core), PA_CORE_MESSAGE_UNLOAD_MODULE, u->module, 0, NULL, NULL); coreaudio/module-coreaudio-device.c: pa_asyncmsgq_wait_for(u->thread_mq.inq, PA_MESSAGE_SHUTDOWN); coreaudio/module-coreaudio-device.c: u->async_msgq = pa_asyncmsgq_new(0); coreaudio/module-coreaudio-device.c: pa_asyncmsgq_send(u->thread_mq.inq, NULL, PA_MESSAGE_SHUTDOWN, NULL, 0, NULL); coreaudio/module-coreaudio-device.c: pa_asyncmsgq_unref(u->async_msgq); jack/module-jack-source.c: pa_asyncmsgq *jack_msgq; jack/module-jack-source.c: pa_asyncmsgq_post(u->thread_mq.outq, PA_MSGOBJECT(u->core), PA_CORE_MESSAGE_UNLOAD_MODULE, u->module, 0, NULL, NULL); jack/module-jack-source.c: pa_asyncmsgq_post(u->jack_msgq, PA_MSGOBJECT(u->source), SOURCE_MESSAGE_POST, NULL, frame_time, &chunk, NULL); jack/module-jack-source.c: pa_asyncmsgq_post(u->thread_mq.outq, PA_MSGOBJECT(u->core), PA_CORE_MESSAGE_UNLOAD_MODULE, u->module, 0, NULL, NULL); jack/module-jack-source.c: pa_asyncmsgq_wait_for(u->thread_mq.inq, PA_MESSAGE_SHUTDOWN); jack/module-jack-source.c: pa_asyncmsgq_post(u->jack_msgq, PA_MSGOBJECT(u->source), SOURCE_MESSAGE_ON_SHUTDOWN, NULL, 0, NULL, NULL); jack/module-jack-source.c: u->jack_msgq = pa_asyncmsgq_new(0); jack/module-jack-source.c: pa_asyncmsgq_send(u->thread_mq.inq, NULL, PA_MESSAGE_SHUTDOWN, NULL, 0, NULL); jack/module-jack-source.c: pa_asyncmsgq_unref(u->jack_msgq); jack/module-jack-sink.c: * via pa_asyncmsgq. The cost is an additional context switch which jack/module-jack-sink.c: pa_asyncmsgq *jack_msgq; jack/module-jack-sink.c: pa_asyncmsgq_post(u->thread_mq.outq, PA_MSGOBJECT(u->core), PA_CORE_MESSAGE_UNLOAD_MODULE, u->module, 0, NULL, NULL); jack/module-jack-sink.c: pa_assert_se(pa_asyncmsgq_send(u->jack_msgq, PA_MSGOBJECT(u->sink), SINK_MESSAGE_RENDER, &frame_time, nframes, NULL) == 0); jack/module-jack-sink.c: pa_asyncmsgq_post(u->thread_mq.outq, PA_MSGOBJECT(u->core), PA_CORE_MESSAGE_UNLOAD_MODULE, u->module, 0, NULL, NULL); jack/module-jack-sink.c: pa_asyncmsgq_wait_for(u->thread_mq.inq, PA_MESSAGE_SHUTDOWN); jack/module-jack-sink.c: pa_asyncmsgq_post(u->jack_msgq, PA_MSGOBJECT(u->sink), SINK_MESSAGE_ON_SHUTDOWN, NULL, 0, NULL, NULL); jack/module-jack-sink.c: pa_asyncmsgq_post(u->jack_msgq, PA_MSGOBJECT(u->sink), SINK_MESSAGE_BUFFER_SIZE, NULL, nframes, NULL, NULL); jack/module-jack-sink.c: u->jack_msgq = pa_asyncmsgq_new(0); jack/module-jack-sink.c: pa_asyncmsgq_send(u->thread_mq.inq, NULL, PA_MESSAGE_SHUTDOWN, NULL, 0, NULL); jack/module-jack-sink.c: pa_asyncmsgq_unref(u->jack_msgq); module-solaris.c: pa_asyncmsgq_post(u->thread_mq.outq, PA_MSGOBJECT(u->core), PA_CORE_MESSAGE_UNLOAD_MODULE, u->module, 0, NULL, NULL); module-solaris.c: pa_asyncmsgq_wait_for(u->thread_mq.inq, PA_MESSAGE_SHUTDOWN); module-solaris.c: pa_asyncmsgq_send(u->thread_mq.inq, NULL, PA_MESSAGE_SHUTDOWN, NULL, 0, NULL); oss/module-oss.c: pa_asyncmsgq_post(u->thread_mq.outq, PA_MSGOBJECT(u->core), PA_CORE_MESSAGE_UNLOAD_MODULE, u->module, 0, NULL, NULL); oss/module-oss.c: pa_asyncmsgq_wait_for(u->thread_mq.inq, PA_MESSAGE_SHUTDOWN); oss/module-oss.c: pa_asyncmsgq_send(u->thread_mq.inq, NULL, PA_MESSAGE_SHUTDOWN, NULL, 0, NULL); _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel