Re: [OT] ALSA userspace API complexity

Olivier Galibert
2006-01-08T13:04:47Z

On Sun, Jan 08, 2006 at 10:42:02AM +0100, Jaroslav Kysela wrote:
> On Sun, 8 Jan 2006, Olivier Galibert wrote:
>
> > On Sat, Jan 07, 2006 at 03:32:27PM +0100, Takashi Iwai wrote:
> > > Yes, it's a known problem to be fixed. But, it's no excuse to do
> > > _everything_ in the kernel (which OSS requires).
> >
> > OSS does not require to do anything in the kernel except an entry
> > point.
> >
> >
> > > And if the application doesn't support, who and where converts it?
> > > With OSS API, it's a job of the kernel.
> >
> > Once again no. Nothing prevents the kernel to forward the data to
> > userland daemons depending on a userspace-uploaded configuration.
>
> But it's quite ineffecient. The kernel must switch tasks at least twice
> or more. It's the major problem with the current OSS API.

Once. U->K or K->U is not task switching and accordingly has a very
low cost. It's changing of userspace task that is costly. And dmix
_is_ a task switch, there is no performance difference between talking
with it through shared memory and semaphores and who knows what else
and talking with it through a kernel interface.

You should count how many U-U switches and U-K syscalls communicating
with dmix represents. Hard to do for a simple user, since the
protocol is not documented.

OG.