Re: [2.6 patch] schedule obsolete OSS drivers for removal

Marcin Dalecki
2006-01-07T14:57:28Z

On 2006-01-07, at 15:09, Takashi Iwai wrote:
>
> In the implementation of OSS API, there is a clear bottleneck: you
> have to implement everthing in the kernel level because of its
> definition. Remember that the original thread started from the
> reduction of the kernel codes. Putting more stuff which could be done
> better in user-space is a major drawback, IMO.

One point - there isn't that much to be done inside the kernel for
the realm
of a generic sound driver. Not if you compare it with other sub
systems like the SCSI host
controller layer or WiFi protocols for example. BTW. By your argument
the encryption doesn't
belong in to the kernel as well. In fact one should go even further
and compare sound
facilities with the *whole* block device layer for example. Mixing
and *even* resampling
data streams are quite formidable tasks from an algorithmic point of
view if done properly and not just applying the square transformation
window as in simple averaging methods one encounters so frequently!.
However let me assure you that it would by no way result in that many
code lines as in
typical decisive protocol code implementations.

A whole complex cross correlation containing a butterfly FFT core for
example doesn't take
much more then just about 500 lines of C code. And it's FAST.
Basically hitting DRAM speed.
Thus technically it's nowadays complete utter nonsense to offload it
to some additional hardware or to
copy the data for processing in to user space and back.