From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Marcin Dalecki <martin@dalecki.de>
Cc: Lee Revell <rlrevell@joe-job.com>,
Linux Kernel list <linux-kernel@vger.kernel.org>,
Takashi Iwai <tiwai@suse.de>
Subject: Re: Mac mini sound woes
Date: Tue, 29 Mar 2005 18:18:31 +1000 [thread overview]
Message-ID: <1112084311.5353.6.camel@gaston> (raw)
In-Reply-To: <4a7a16914e8d838e501b78b5be801eca@dalecki.de>
> > dmix has been around for a while but softvol plugin is very new, you
> > will need ALSA CVS or the upcoming 1.0.9 release.
>
> Instead of the lame claims on how ugly it is to do hardware mixing in
> kernel space the ALSA fans should ask them self the following questions:
Well, we are claiming _and_ obviously proposing a solution ;)
> 1. Where do you have true "real-time" under linux? Kernel or user space?
That's bullshit. you don't need "true" real time for the mixing/volume
processing in most cases. I've been doing sound drivers on various
platforms who don't have anything that look like true realtime neither
and beleive, it works. Besides, if doing it linux shows latency
problems, let's just fix them.
> 2. Where would you put the firmware for an DSP? Far away or as near to
> hardware as possible?
Yes. This point is moot. The firmware is somewhere in your filesystem
and obtained with the request_firmware() interface, that has nothing to
do in the kernel. If it's really small, it might be ok to stuff it in
the kernel. But anyway, this point is totally unrelated to the statement
you are replying to.
> 3. How do you synchronize devices on non real time system?
I'm not sure I understand what you mean here. I suppose it's about
propagation of clock sources, which is traditionally done in the slave
way; that is the producer (whatever it is, mixer, app, ...) is "sucked"
by the lowest level at a given rate, the sample count beeing the
timestamp, variable sample size having other means (and less precise of
course) to synchronize.
> 4. Why the hell do we have whole network protocols inside the kernel?
> Couldn't those
> be perfectly handled in user space? Or maybe there are good reasons?
Network protocol do very few computation on the data in the packets
(well, except for IPsec for security reasons mostly) but this is a gain
totally unrelated. Like comparing apples and pears.
> 5. Should a driver just basically map the hardware to the user space or
> shouldn't
> it perhaps provide abstraction from the actual hardware implementing it?
This is in no way incompatible with having the mixing and volume control
in userspace. It's actually quite a good idea to have a userland library
that isolates you from the low level "raw" kernel intefaces of the
driver, and in the case of sound, provides you with the means to setup
codec chains, mixing components, etc...
> 6. Is there really a conceptual difference between a DSP+CPU+driver and
> just
> looking at the MMX IP core of the CPU as an DSP?
Again, I don't see how this makes any point in the context of the
discussion above and your heated reply.
Ben.
next prev parent reply other threads:[~2005-03-29 8:24 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-27 23:42 Mac mini sound woes Benjamin Herrenschmidt
2005-03-28 1:42 ` Andrea Arcangeli
2005-03-28 2:34 ` Benjamin Herrenschmidt
2005-03-29 3:36 ` Lee Revell
2005-03-29 3:41 ` Benjamin Herrenschmidt
2005-03-29 7:47 ` Marcin Dalecki
2005-03-29 8:18 ` Benjamin Herrenschmidt [this message]
2005-03-29 9:22 ` Marcin Dalecki
2005-03-29 10:22 ` Takashi Iwai
2005-03-30 1:45 ` Marcin Dalecki
2005-03-30 2:08 ` Lee Revell
2005-03-30 4:14 ` Lee Revell
2005-03-30 5:15 ` Steven Rostedt
2005-03-29 22:13 ` Lee Revell
2005-03-29 23:25 ` Chris Friesen
2005-03-29 23:39 ` Benjamin Herrenschmidt
2005-03-30 1:48 ` Marcin Dalecki
2005-03-30 5:42 ` Lee Revell
2005-03-30 1:45 ` Marcin Dalecki
2005-03-29 10:02 ` Takashi Iwai
2005-03-29 11:04 ` Benjamin Herrenschmidt
2005-03-29 12:12 ` Takashi Iwai
2005-03-29 19:05 ` Lee Revell
2005-03-29 19:31 ` Takashi Iwai
2005-03-29 20:11 ` Lee Revell
2005-03-29 22:03 ` 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=1112084311.5353.6.camel@gaston \
--to=benh@kernel.crashing.org \
--cc=linux-kernel@vger.kernel.org \
--cc=martin@dalecki.de \
--cc=rlrevell@joe-job.com \
--cc=tiwai@suse.de \
/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