public inbox for linux-sound@vger.kernel.org
 help / color / mirror / Atom feed
From: Olivier Galibert <galibert@pobox.com>
To: Jaroslav Kysela <perex@suse.cz>
Cc: ALSA development <alsa-devel@alsa-project.org>,
	linux-sound@vger.kernel.org
Subject: Re: [2.6 patch] schedule obsolete OSS drivers for removal
Date: Sat, 07 Jan 2006 00:56:45 +0000	[thread overview]
Message-ID: <20060107005645.GA67447@dspnet.fr.eu.org> (raw)
In-Reply-To: <Pine.LNX.4.61.0601061938390.10811@tm8103.perex-int.cz>

On Fri, Jan 06, 2006 at 09:26:42PM +0100, Jaroslav Kysela wrote:
> You're proposing to add more content switches versus current ALSA 
> implementation:
> 
> user space <-> kernel
> 
> While your daemon requires:
> 
> user space <-> kernel <-> user space (daemon)

Dmix _is_ a context switch, you know?


> So your solution is even more realtime and proper scheduling dependant.
> Unfortunately, Linux kernels still do not have perfect realtime behaviour 
> (mostly due to broken drivers etc.).

You only get context switches if you go through plugins, which is
pretty much the same way alsa currently is, isn't it?


> Also, the API is completely irrelevant from this scheme. If daemon does 
> everything, the ALSA kernel API can go public and documented (altough I 
> still does not agree with it - see bellow).

The ALSA kernel API better go documented soon or I'll have to document
it myself.  Security and openness-wise, it is just not acceptable to
have a user-accessive kernel API kept under wraps.


> > ALSA does not have a documented kernel interface nor an optional
> > library but a mandatory library.  A highly complex, ipc-using library
> 
> It's also not very true. You can create your own ALSA library,

After reverse-engineering your kernel interface.  How convenient.


> but this library will not be supported with our team.

Of course.  You won't have to though, since you claim the API is
upwards compatible.


> The ALSA from 1.0 version is 
> binary compatible (even 0.9.0rc4+ linked applications should work) and old 
> ioctls are emulated.

Good.


> I'd like to point that this code runs with standard user priviledges. I 
> think that the security things are and should be in a different place (in 
> the kernel). If IPC is broken, other applications (not only using sound) 
> might be broken.

Every application that does inter-process communication has potential
protocol-level security issues.  Current ALSA creates two shared
memory zones and one semaphore with group write permissions.  In a
setup where a number of people are in the same group (student group
for instance), are you 100% positive that another user cannot take
control of the running application by writing the right values at the
right time in these zones?  Shared memory is the most dangerous
communication vector there is when the other application is
untrustable.


> > At least OSS, with all its flaws, is a documented kernel interface.
> > You can static link a oss-using program, whether it uses it directly
> > or through interfaces like sdl-audio, and it will just work.
> 
> Please, see your words. You're simply anarchistic. You replaced 
> flexibility of dynamic library with a possibility to have static binary.

I am indeed not really interested in reproducing the dll hell of
windows in linux.  I want simple but really efficient interfaces to
kernel services which then give the possibility to build special needs
libraries over it[1].  At that point you're designing an API for a
specific class of professional audio users and essentially telling all
the other users to bugger off.  Bad karma.


> ALSA library can be also compiled as static library, so it's not a 
> problem. The ALSA kernel API is stable.

Yeah, that's the second time you're saying that.  I'm sure Dave Jones
will be really happy to know that his impressions were mistaken and
his bugzilla was just having hallucinations:
  http://marc.theaimsgroup.com/?l=linux-kernel&m\x113589615627420&w=2
  http://marc.theaimsgroup.com/?l=linux-kernel&m\x113225994603627&w=2


> Also, we use symbol versions for 
> all exported functions, so all old binaries linked with the dynamic alsa 
> library will work.

Like all the programs I had which segfaulted after the alsa upgrade
that changed set_rate_near.  Beautiful versioning there guys.


> Of course, the drivers might change some universal 
> control names,

Yeah, also known as "the stick which broke jwz's back".


> Also note, that if OSS had the API in userspace from the first days,
> the emulation or redirection of this API to another API or user space 
> drivers wouldn't be so much complicated nowadays. Bummer.

It would be exactly as complicated because of the static link issue.

  OG.

[1] SDL, jack and slmodem are I think good examples

  parent reply	other threads:[~2006-01-07  0:56 UTC|newest]

Thread overview: 263+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-26 15:08 [2.6 patch] schedule obsolete OSS drivers for removal Adrian Bunk
2005-07-26 15:41 ` Jesper Juhl
2005-07-26 15:46   ` Adrian Bunk
2005-07-26 15:41 ` Thomas Sailer
2005-07-26 15:48 ` Jeff Garzik
2005-07-26 16:04   ` Adrian Bunk
2005-07-26 16:49   ` Lee Revell
2005-07-26 17:49     ` John W. Linville
2005-07-26 15:51 ` Lee Revell
2005-07-26 15:57   ` Jeff Garzik
2005-07-26 16:02     ` Lee Revell
2005-07-27 18:24     ` Adrian Bunk
2005-07-27 20:31       ` John W. Linville
2005-07-27 20:43         ` Jeff Garzik
2005-07-28 13:44           ` Alan Cox
2005-07-28 13:43             ` Jaroslav Kysela
2005-07-28 14:15               ` Adrian Bunk
2005-07-26 16:30   ` Adrian Bunk
2005-07-26 16:17 ` Andrew Haninger
2005-07-31 19:29   ` Adrian Bunk
2005-07-26 16:27 ` Zach Brown
2005-07-26 21:41   ` Krzysztof Halasa
2005-07-26 23:38   ` Zoran Dzelajlija
2005-07-27 23:28     ` Lee Revell
2005-07-27 23:58       ` Rogério Brito
2005-07-28  8:09     ` Takashi Iwai
2005-07-31 19:36     ` Adrian Bunk
2005-07-27 18:39 ` Kyle McMartin
2005-07-28  3:01   ` [parisc-linux] Re: [2.6 patch] schedule obsolete OSS drivers Randolph Chung
2005-07-28 14:14   ` [2.6 patch] schedule obsolete OSS drivers for removal Adrian Bunk
2005-07-28 15:04 ` Thorsten Knabe
2005-07-28 15:46   ` Adrian Bunk
2005-07-28 18:33   ` [Alsa-devel] Re: [2.6 patch] schedule obsolete OSS drivers for Lee Revell
2005-07-29  6:52   ` Jaroslav Kysela
2005-07-29 15:16     ` [Alsa-devel] Re: [2.6 patch] schedule obsolete OSS drivers for removal Adrian Bunk
2005-07-29 15:58     ` [Alsa-devel] Re: [2.6 patch] schedule obsolete OSS drivers for Thorsten Knabe
2005-07-31 19:39       ` [Alsa-devel] Re: [2.6 patch] schedule obsolete OSS drivers for removal Adrian Bunk
2005-08-01 14:26         ` Andrew Haninger
2005-08-02  0:13           ` [Alsa-devel] Re: [2.6 patch] schedule obsolete OSS drivers for Thorsten Knabe
2005-08-02  5:05             ` Lee Revell
2005-08-02 15:55             ` Thorsten Knabe
2005-07-29 15:32 ` [2.6 patch] schedule obsolete OSS drivers for removal (version 2) Adrian Bunk
2005-08-09 17:13   ` [2.6 patch] schedule obsolete OSS drivers for removal (version Lee Revell
2005-08-09 17:49     ` [2.6 patch] schedule obsolete OSS drivers for removal (version 2) Adrian Bunk
2005-08-09 17:54       ` [2.6 patch] schedule obsolete OSS drivers for removal (version Lee Revell
2005-08-12 19:58       ` Lee Revell
2005-08-14 11:00         ` [2.6 patch] schedule OSS USB drivers for removal Adrian Bunk
2005-07-31 13:38 ` [2.6 patch] schedule obsolete OSS " James Courtier-Dutton
2006-01-03 13:21 ` Andi Kleen
2006-01-03 13:47   ` Alistair John Strachan
2006-01-03 13:52     ` Andi Kleen
2006-01-03 13:58       ` David Lang
2006-01-03 14:33         ` Alistair John Strachan
2006-01-03 14:34           ` Alistair John Strachan
2006-01-03 14:01       ` Alistair John Strachan
2006-01-03 18:24       ` Lee Revell
     [not found]       ` <mailman.1136300646.6679.linux-kernel2news@redhat.com>
2006-01-04 11:13         ` Pete Zaitcev
2006-01-04 11:16           ` Jaroslav Kysela
2006-01-03 14:38     ` Jan Engelhardt
2006-01-03 14:41       ` Alistair John Strachan
2006-01-03 14:50         ` Jan Engelhardt
2006-01-03 15:22           ` Alistair John Strachan
2006-01-03 16:05             ` Tomasz Torcz
2006-01-03 16:29               ` Alistair John Strachan
2006-01-03 17:03                 ` Olivier Galibert
2006-01-03 17:16                   ` Alistair John Strachan
2006-01-03 19:24                     ` Olivier Galibert
2006-01-03 19:37                       ` Adrian Bunk
2006-01-03 21:40                         ` Olivier Galibert
2006-01-03 23:10                         ` Tomasz Kłoczko
2006-01-04  0:33                           ` Thomas Sailer
2006-01-04  1:48                             ` Olivier Galibert
2006-01-04  9:03                           ` Jan Engelhardt
2006-01-04  9:37                           ` [OT] ALSA userspace API complexity Alistair John Strachan
2006-01-06  2:19                             ` Marcin Dalecki
2006-01-08  1:30                             ` Hannu Savolainen
2006-01-08  9:24                               ` [Alsa-devel] " Jaroslav Kysela
2006-01-08 22:47                                 ` Hannu Savolainen
2006-01-10 10:51                                   ` Jaroslav Kysela
2006-01-09 13:05                                 ` René Rebe
2006-01-09 15:10                                   ` Hannu Savolainen
2006-01-09 17:12                                     ` René Rebe
2006-01-09 21:58                                       ` David Lang
2006-01-09 23:20                                         ` John Rigg
2006-01-09 23:21                                           ` David Lang
2006-01-10  0:16                                             ` John Rigg
2006-01-10  0:29                                               ` David Lang
2006-01-10  0:44                                                 ` Alan Cox
2006-01-10  1:56                                                   ` Lee Revell
2006-01-10  1:27                                                 ` John Rigg
2006-01-10  0:53                                               ` John Rigg
2006-01-10  0:48                                           ` Hannu Savolainen
2006-01-10  1:51                                             ` John Rigg
2006-01-10  2:17                                               ` Hannu Savolainen
2006-01-10 14:05                                 ` Hannu Savolainen
2006-01-10 14:17                                   ` Jaroslav Kysela
2006-01-10 14:39                                     ` Adam Tlałka
     [not found]                           ` <mailman.1136368805.14661.linux-kernel2news@redhat.com>
2006-01-04 11:00                             ` Pete Zaitcev
2006-01-04 11:35                               ` Jaroslav Kysela
2006-01-04 11:47                                 ` Pete Zaitcev
2006-01-04 14:23                                 ` Alistair John Strachan
2006-01-05 11:41                                   ` Olivier Galibert
2006-01-05 12:01                                 ` Tomasz Kłoczko
2006-01-05 12:23                                   ` Jaroslav Kysela
2006-01-05 14:21                                     ` Olivier Galibert
2006-01-05 14:56                                       ` [parisc-linux] " Alan Cox
2006-01-05 21:14                                         ` Jan Engelhardt
2006-01-05 15:07                                     ` Tomasz Kłoczko
2006-01-05 16:14                                       ` Takashi Iwai
2006-01-05 17:19                                         ` Marcin Dalecki
2006-01-05 20:13                                         ` Tomasz Kłoczko
2006-01-07 14:32                                           ` Takashi Iwai
2006-01-08  2:03                                             ` Olivier Galibert
2006-01-08  2:26                                               ` Martin Drab
2006-01-08 13:21                                                 ` Olivier Galibert
2006-01-08 13:32                                                   ` Jaroslav Kysela
2006-01-08 23:18                                                     ` Pavel Machek
2006-01-09  0:33                                                     ` [Alsa-devel] " Hannu Savolainen
2006-01-09 12:24                                                       ` Takashi Iwai
2006-01-09 17:49                                                   ` Thierry Vignaud
2006-01-08  9:42                                               ` Jaroslav Kysela
2006-01-08 13:04                                                 ` Olivier Galibert
2006-01-08 13:23                                                   ` Jaroslav Kysela
2006-01-08 13:38                                                 ` Marcin Dalecki
2006-01-09  0:30                                                 ` [Alsa-devel] " Hannu Savolainen
2006-01-05 23:06                                         ` Hannu Savolainen
2006-01-05 23:39                                           ` Lee Revell
2006-01-05 23:56                                             ` Hannu Savolainen
2006-01-06  0:03                                               ` Lee Revell
2006-01-05 23:40                                           ` Lee Revell
2006-01-05 23:59                                             ` Hannu Savolainen
2006-01-06 15:03                                               ` Stefan Smietanowski
2006-01-06 15:48                                                 ` Erik Mouw
2006-01-06 18:37                                                 ` Lee Revell
2006-01-10  9:43                                               ` Jaroslav Kysela
2006-01-10 13:42                                                 ` Hannu Savolainen
2006-01-10 14:08                                                   ` Jaroslav Kysela
2006-01-10 14:17                                                     ` Hannu Savolainen
2006-01-10 20:13                                                     ` Marcin Dalecki
2006-01-06  0:14                                             ` Marcin Dalecki
2006-01-06  0:29                                               ` Martin Drab
2006-01-06  0:57                                                 ` Marcin Dalecki
2006-01-06  1:49                                                   ` Martin Drab
2006-01-06  1:21                                               ` Zan Lynx
2006-01-06 15:17                                                 ` Stefan Smietanowski
2006-01-06  3:14                                           ` Edgar Toernig
2006-01-06  3:33                                             ` Hannu Savolainen
2006-01-06 11:34                                               ` Florian Schmidt
2006-01-06  7:47                                           ` Jan Engelhardt
2006-01-07 14:45                                           ` Takashi Iwai
2006-01-05 18:56                                       ` Lee Revell
2006-01-05 22:39                                       ` Joern Nettingsmeier
2006-01-05 23:44                                         ` Tomasz Kłoczko
2006-01-05 23:49                                         ` Olivier Galibert
2006-01-06  0:22                                           ` Joern Nettingsmeier
2006-01-06  1:30                                             ` Olivier Galibert
2006-01-06  2:20                                             ` Hannu Savolainen
2006-01-10  9:54                                               ` Jaroslav Kysela
2006-01-10 13:50                                                 ` Hannu Savolainen
2006-01-06  0:00                                         ` Marcin Dalecki
2006-01-05 12:47                                   ` Leonard Milcin Jr.
2006-01-04 12:13                           ` [2.6 patch] schedule obsolete OSS drivers for removal Joern Nettingsmeier
2006-01-04 12:35                             ` Andi Kleen
2006-01-04 12:41                               ` Jaroslav Kysela
2006-01-04 17:31                                 ` Alistair John Strachan
2006-01-04 17:48                                   ` Takashi Iwai
2006-01-05  6:42                       ` Lee Revell
2006-01-03 18:28                   ` Lee Revell
2006-01-03 20:22                   ` Takashi Iwai
2006-01-03 20:37                     ` Tomasz Torcz
2006-01-03 20:44                       ` Takashi Iwai
2006-01-03 20:56                         ` Jesper Juhl
2006-01-03 21:56                           ` Adrian Bunk
2006-01-03 22:11                             ` Jesper Juhl
2006-01-04 11:46                               ` Takashi Iwai
2006-01-04 14:46                                 ` Jan Engelhardt
2006-01-04 16:43                                   ` Marcin Dalecki
2006-01-05 10:57                                     ` Jan Engelhardt
2006-01-05 12:44                                       ` Marcin Dalecki
2006-01-05 18:33                                         ` Lee Revell
2006-01-05 20:03                                           ` Marcin Dalecki
2006-01-05 20:05                                             ` Lee Revell
2006-01-05 20:18                                               ` Marcin Dalecki
2006-01-05 20:28                                                 ` Lee Revell
2006-01-05 20:32                                                   ` Marcin Dalecki
2006-01-05 20:39                                                     ` Lee Revell
2006-01-05 20:32                                                 ` Lee Revell
2006-01-05 20:54                                                   ` Marcin Dalecki
2006-01-05 21:01                                                     ` Lee Revell
2006-01-05 21:43                                                       ` Marcin Dalecki
2006-01-05 21:47                                                         ` Lee Revell
2006-01-05 23:35                                                     ` Jesper Juhl
2006-01-06  0:04                                                       ` Marcin Dalecki
2006-01-06  0:08                                                         ` Jesper Juhl
2006-01-06  1:36                                                         ` Hannu Savolainen
2006-01-06  9:54                                                           ` James Courtier-Dutton
2006-01-06 13:37                                                             ` Hannu Savolainen
2006-01-06 10:34                                                           ` Gabor Gombas
2006-01-06 12:48                                                             ` Hannu Savolainen
2006-01-07 14:09                                                           ` Takashi Iwai
2006-01-07 14:57                                                             ` Marcin Dalecki
2006-01-08  0:21                                                             ` Hannu Savolainen
2006-01-06  2:40                                             ` Diego Calleja
2006-01-06 14:57                                               ` Olivier Galibert
2006-01-06 20:26                                                 ` Jaroslav Kysela
2006-01-07  0:40                                                   ` Marcin Dalecki
2006-01-07  0:56                                                   ` Olivier Galibert [this message]
2006-01-04 20:12                                   ` Kyle Moffett
2006-01-04 22:25                                     ` Olivier Galibert
2006-01-03 22:13                             ` Tomasz Torcz
2006-01-03 23:10                               ` Adrian Bunk
2006-01-03 23:51                                 ` Tomasz Kłoczko
2006-01-04  0:03                                   ` Adrian Bunk
2006-01-04  0:46                                     ` Tomasz Kłoczko
2006-01-04  1:01                                       ` Adrian Bunk
2006-01-04  2:51                                         ` Tomasz Kłoczko
2006-01-04  8:50                                           ` Alan Cox
2006-01-04 13:21                                             ` Greg Louis
2006-01-04 14:41                                               ` Adrian Bunk
2006-01-04 10:37                                           ` tapas
2006-01-04 17:28                                             ` Alistair John Strachan
2006-01-05  7:14                                               ` Jan Engelhardt
2006-01-04 17:54                                             ` Takashi Iwai
2006-01-04 18:17                                               ` Florian Schmidt
2006-01-04 19:28                                                 ` Marcin Dalecki
2006-01-04 19:52                                                   ` Florian Schmidt
2006-01-05  7:11                                                     ` Jan Engelhardt
2006-01-05 11:15                                                     ` Takashi Iwai
2006-01-05 21:20                                                   ` Jim Crilly
2006-01-05  7:11                                                 ` Lee Revell
2006-01-05 19:09                                                   ` Edgar Toernig
2006-01-05 19:29                                                     ` Lee Revell
2006-01-05 20:19                                                       ` Lee Revell
2006-01-05 21:05                                                         ` Edgar Toernig
2006-01-05 21:10                                                           ` Lee Revell
2006-01-05 20:24                                                       ` Edgar Toernig
2006-01-05 20:29                                                         ` Lee Revell
2006-01-05  7:16                                             ` Lee Revell
2006-01-05 11:43                                               ` Florian Schmidt
2006-01-05 17:48                                                 ` Lee Revell
2006-01-08 21:07                                                   ` Ville Herva
2006-01-08 21:44                                                     ` Lee Revell
2006-01-09  8:16                                                       ` Ville Herva
2006-01-09 13:52                                                         ` Lee Revell
2006-01-09 14:22                                                           ` Ville Herva
2006-01-09 15:18                                                             ` Lee Revell
2006-01-09 16:21                                                               ` Ville Herva
2006-01-09 16:22                                                                 ` Lee Revell
2006-01-05 18:36                                                 ` Lee Revell
2006-01-05 18:47                                                   ` Tomasz Torcz
2006-01-05 19:10                                                     ` Lee Revell
2006-01-05 19:15                                                   ` Florian Schmidt
2006-01-04  0:28                                   ` Stefan Smietanowski
2006-01-04  1:38                                     ` Tomasz Kłoczko
2006-01-04  9:48                                       ` Stefan Smietanowski
2006-01-05  3:03                                         ` Peter Bortas
2006-01-05  7:13                                           ` Jan Engelhardt
2006-01-05  7:19                                             ` Lee Revell
2006-01-05  8:41                                               ` Stefan Smietanowski
2006-01-05  9:57                                             ` Peter Bortas
2006-01-03 17:09             ` Jan Engelhardt
2007-01-04 18:53 ` [2.6 patch] schedule obsolete OSS drivers for removal, 3rd round Adrian Bunk
2007-01-04 21:31   ` [2.6 patch] schedule obsolete OSS drivers for removal, 3rd Benjamin Herrenschmidt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060107005645.GA67447@dspnet.fr.eu.org \
    --to=galibert@pobox.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=perex@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox