Subject: kern/35961: azalia_mappage() is unimplemented, applications requiring mmap() access do not work, a lot of audio drop-outs or excessive latency, etc.
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <blair.sadewitz@gmail.com>
List: netbsd-bugs
Date: 03/09/2007 14:00:00
>Number: 35961
>Category: kern
>Synopsis: azalia_mappage() is unimplemented, applications requiring mmap() access do not work, a lot of audio drop-outs or excessive latency, etc.
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Mar 09 14:00:00 +0000 2007
>Originator: Blair Sadewitz
>Release: 4.99.13
>Organization:
>Environment:
NetBSD dexamyl 4.99.13 NetBSD 4.99.13 (DEXAMYL) #0: Fri Mar 9 02:01:15 EST 2007 blair@dexamyl:/usr/src/sys/arch/amd64/compile/DEXAMYL amd64
>Description:
azalia(4) seems to be one of the only audio drivers that do not support mmap() of the DMA buffer. This results in poor audio performance even under moderate system load. I have a Pentium D 3GHz processor with 1GB of RAM, and using both cores--even running processes with pri +20--will result in a buffer underrun and/or other errors that lead to the stream stuttering indefinitely until the stream is restarted.
Also, some audio applications need this functionality to work properly.
>How-To-Repeat:
Try using audio/jack or playing audio under moderate-heavy system load or during disk I/O.
>Fix:
Implement azalia_mappage(). What is different about azalia(4) that makes this difficult? I wouldn't mind if there were only one standard mmap sample rate. It would be nice if the mmap-related ioctl()s (buffer position, etc) were available, though.
Thank you for your attention to this, it is appreciated. Not a high priority, but IMHO it is important.