Download raw body.
sndiod: Fix random restarts under load, please test
On Thu, 30 Oct 2025 09:25:06 +0100, Benjamin Baier <programmer@netzbasis.de> wrote: > > On Wed, 29 Oct 2025 17:57:55 +0100 > pasta <pasta@pastatech.eu> wrote: > > > hi, > > > > On Thu, Oct 23, 2025 at 11:26:39AM +0200, Alexandre Ratchov wrote: > > > Currently, upon an audio(4) buffer underrun, we compensate for the > > > inserted silence immediately, without stopping DMA. This is to make > > > the underrun sound less unpleasant. Unfortunately, after ~15 years and > > > many hacks this approach still doesn't work: sometimes the device just > > > stops working, a watchdog timer (another hack) disconnects all the > > > clients and closes the device. > > > > > > This diff below is to use a simpler and more robust approach: upon an > > > underrun, stop DMA, restore the device state and restart. Underruns > > > will be more audible (because restarting inserts a full buffer of > > > silence) but this fixes the disconnects (and removes the need for all > > > the ugly hacks, that will be removed later). > > > > > > The code is very short but not trivial and all the upper layers depend > > > on it, so this diff is worth testing. > > > > i've been running this diff for the last couple of days. the underruns > > are much more more audible, but this seems to otherwise work. > > > > it seems to have fixed the disconnects, for me! that is nice, > > thank you :-) > > > > I also run this diff since it dropped. No negative effects. > > Greetings Ben > > OpenBSD 7.8-current (GENERIC.MP) #55: Fri Oct 24 08:15:07 CEST 2025 > ben@home:/usr/src/sys/arch/amd64/compile/GENERIC.MP > > azalia0 at pci1 dev 0 function 1 vendor "ATI", unknown product 0xaaf0 rev 0x00: msi > azalia0: no supported codecs > > azalia1 at pci0 dev 31 function 3 "Intel 300 Series cAVS" rev 0x10: msi > azalia1: codecs: Realtek ALC1220 > audio0 at azalia1 > Same here. It works. It doesn't fixes any know issue on my hardware, but it doesn't introduce any new issue neighter. -- wbr, Kirill
sndiod: Fix random restarts under load, please test