Re: software mixing in alsa

From: Lee Revell
Date: Wed May 18 2005 - 12:49:11 EST


On Wed, 2005-05-18 at 15:53 +0200, Jaroslav Kysela wrote:
> On Wed, 18 May 2005, Karel Kulhavy wrote:
>
> > On Tue, May 17, 2005 at 04:36:30PM -0400, Lee Revell wrote:
> >
> > [...]
> >
> > > alsa-lib, which is part of userspace. From the application's point of
> > > view, it does not matter whether the mixing happens in kernel or not.
> > > ALSA follows the philosophy of doing as little as possible in the
> > > kernel, and since mixing and volume control work fine in userspace,
> > > that's where they live.
> >
> > Mixing is IMHO action that should be in kernel because
> >
> > 1) needs realtime scheduling to keep latency down
>
> With a realtime scheduler and properly written drivers (no "schedule"
> gaps) you'll reach same results. For x86 we use special instructions like
> xchg and locking-free algorithm in dmix, so the latency is SAME for all
> concurent apps with minimal overhead..

Also doing it in userspace lets us use SSE/MMX.

Lee

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/