From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olivier Galibert Date: Sun, 08 Jan 2006 13:04:47 +0000 Subject: Re: [OT] ALSA userspace API complexity Message-Id: <20060108130447.GA96834@dspnet.fr.eu.org> List-Id: References: <20060104030034.6b780485.zaitcev@redhat.com> <20060108020335.GA26114@dspnet.fr.eu.org> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Jaroslav Kysela Cc: Takashi Iwai , ALSA development , linux-sound@vger.kernel.org, LKML 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.