[alsa-devel] [PATCH 1/4] Revert "ASoC: tlv320dac33: Use core to set the msbits constraint"

Mark Brown broonie at opensource.wolfsonmicro.com
Thu Jan 19 20:07:01 CET 2012

On Thu, Jan 19, 2012 at 07:33:10PM +0100, Peter Ujfalusi wrote:

> It might not bother you that we are wasting CPU cycles for nothing, but
> it annoys me.
> This is the reason we need to update the CPUs every 2 years.

> Please take this series. I'm not going to allow that the TI drivers will
> waste CPU cycles (for nothing).

Please take a step back (I know I'm rather annoyed and am trying to do
so myself), none of this is getting us anywhere.

We've got real CPU consumption problems in ASoC - the DAPM algorithm is
the biggest one, even with the work I did recently to mitigate against
it it's still got the ability to explode dramatically to the point where
it's user visible as the worst case is well over O(n^2).  There's plenty
of low hanging fruit that it'd be much better to spend time on here - as
a quick example every time we start or stop a stream we do a linear
search of all DAPM widgets looking for those that might be affected
based on a string match in order to kick DAPM for them.  That's O(n) in
the number of widgets in the card plus the strcmp() costs.

We'll all get *much* more benefit from working on improvements of things
like that (and on the memory consumption which isn't great either and
probably manages to burn measurable CPU cycles due to cache misses) than
we ever will from anything we do with this code.

More information about the Alsa-devel mailing list