Re: [Development report #9] Audio Stack Improvements
- In reply to: Baptiste Daroussin : "Re: [Development report #9] Audio Stack Improvements"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 03 Apr 2024 13:19:27 UTC
On Wed, Apr 03, 2024 at 01:31:54PM +0200, Baptiste Daroussin wrote: > On Tue 02 Apr 16:14, Christos Margiolis wrote: > > Committed DEVFS_CDEVPRIV(9) patch: > > - https://cgit.freebsd.org/src/commit/?id=dc831e93bad63f9faea09f1806a7733a40bff316 > > - Updated the SNDCTL_AUDIOINFO ioctl to write /dev/dspX instead of > > /dev/dspX.Y to ai->devnode. > > - Closed https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246208 as > > accessing specific channels through device nodes is no longer > > possible. > > > > Committed asynchronous audio device detach patch: > > - https://cgit.freebsd.org/src/commit/?id=9eff58c6d52b66eb8abe7f724dabcd804a566df4 > > - Fixed a kern_poll() panic caught after applying the patch and > > hot-unplugging the audio device while jackd is running: > > https://cgit.freebsd.org/src/commit/?id=fba54d0179aabb3d94211ca80f94fe5b98ac6d3b > > - Will send call-for-testing and mail annoyed people once a snapshot > > build with the patch included is built. > > - Debugging an LOR reported in D44411, although it’s not related to the > > patch. > > > > Updates to /dev/sndstat: > > - https://cgit.freebsd.org/src/commit/?id=6d1cee1640e1c360917e483ece5ec1bde423b788 > > - https://reviews.freebsd.org/D44571 > > - https://reviews.freebsd.org/D44546 (Abandoned since it will break > > backwards compatibility and this functionality will be built into a > > new userland tool anyway.) > > > > Implementing missing OSSv4 ioctls: > > - https://reviews.freebsd.org/D44570 > > > > Minor patches: > > - https://cgit.freebsd.org/src/commit/?id=c136e6180e4762c1180d89cd2291fd9a935a721d > > - https://cgit.freebsd.org/src/commit/?id=b5e55dbf357472ffa39345b30b8b781e988a440f > > - https://cgit.freebsd.org/src/commit/?id=d46a6a77e8e14177d07e3a53f68b428e5d1cb416 > > > > Submitted a 2024Q1 report: > > https://cgit.freebsd.org/doc/commit/?id=df8f360e93a2fa210dc3a0a7aa4dae6e855a8076 > > > > This work is sponsored by the FreeBSD Foundation. > > Thanks a log for your hard work! one thing I would like to report, I had an > issue with pulseaudio with latest kernel as of today. > > On thing specific my laptop internal audio is actually uaudio which makes it > maybe a bit specific. > > I have an application which queries pulseaudio every minute to get the status of > the mixer, this application starts pulseaudio if not present. It starts it a > first time, the process run but seems to hang somehow and becomes unkillable > (even via kill -9) > > the backtraces shows: mi_switch+0xba _cv_wait+0xf8 getchns+0x9f > dsp_poll+0xc4 devfs_poll_f+0x7d kern_poll_kfds+0x3f6 kern_poll+0x9d > sys_ppoll+0x70 amd64_syscall+0x109 fast_syscall_common+0xf8 > > with a kernel from 10 days ago this wasn't happening. > > if I change the PCM_WAIT() macro to use cv_wait_sig then everything seems to be > back to normal. Presumably this means that some other thread is holding the device busy, i.e., sleeping with the device busied, or the busy state was leaked. PCM_WAIT() can't use cv_wait_sig() directly unless all callers are patched to handle signals. So, it'd be useful to see the full "procstat -kka" output when you have a stuck pulseaudio. I believe pulseaudio will log to syslog as well, I see its messages in /var/log/messages on my desktop. It would be worth checking for messages on your system. > I don't know if that rings a bell or how to help you more on debugging this. > > Best regards, > Bapt