Re: [linux-audio-dev] What would YOU do with kernel support?

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] What would YOU do with kernel support?
From: Paul Davis (pbd_AT_Op.Net)
Date: Thu Mar 21 2002 - 23:49:10 EET


>The kinds of improvements we're going to investigate at first are
>comparatively simple: zero-copying I/O, a fast path to the kernel

ALSA already has support for zero-copying I/O, via its mmap mode. I
suspect that you may not understand as much as you might want to about
how this model of access changes the way the kernel and a user space
audio application interact with each other. A program using mmap mode
doesn't interact with the kernel at all except to get woken up when
the device interrupt marks the thread ready to run.

>With that said, I have a couple of questions for the group:
> 1. Where are the biggest kernel bottlenecks in the applications
>and libraries you're developing?

the kernel doesn't provide any real bottlenecks to my audio+MIDI apps
other than scheduling latency. thats because i use mmap mode for all
data transfer to the audio interface. scheduling latency is really the
only issue i've every had with the kernel. the best possible solution
to this would include a KURT-style patch that dynamically reprogrammed
the system timer to provide usec-level scheduling resolution.

> 2. What are some good applications to play with? I'm looking for
>a user application with serious latency and/or throughput requirements
>that some of these techniques might improve. (I realize throughput is
>not as big an issue as latency.) If the application keeps some
>profile statistics, so much the better.

For throughput issues, Ardour and Ecasound are probably the two most
obvious candidates, because they are designed from the ground up
around dealing with multichannel audio interfaces and full duplex
operation, where you may be streaming 9MB/sec->18MB/sec of data
between the app and the interface. There may be others with similar
capabilities (GLAME might do this, for example), but I'm pretty sure
that most Linux audio apps at the present time tend to be built around
stereo output, which automatically clamps the data transfer rate. But
as I said above, I think you will find that mmap mode sort of
sidesteps most of the kinds of questions you might be setting out to
investigate.

For latency, more or less any Linux audio that does more than simply
playing an existing soundfile is a candidate for a test suite. But
latency is already being addressed by several people and groups with
more general goals than just audio, although we are the most
significant "users" of their work.

--p <once, pbd_AT_cs.washington.edu>


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Thu Mar 21 2002 - 23:38:11 EET