Rockbox mail archiveSubject: Re: Performance regression
Re: Performance regression
From: Michael Sevakis <jethead71_at_comcast.net>
Date: Thu, 1 Dec 2011 16:31:25 -0500
> Actually I did a test build back then (still floating around on my phone)
> and everything was working fine. I didn't notice the performance drop.
> Maemo doesn't need pcm_play_lock() as the locking is done
> on the gstreamer object level.
It for locking out the callback for the rest of the system, like the mixer,
pcmbuffer, etc. when it would not be desireable for callback to happen. With
the higher callback frequency, it's much more likely to happen when other
code in the system expects an atomic operation. I don't see how the current
code performs the intended function other than for its own internal
integrity. The flag setting that I remember seeing is racy too.
> Anyhow, it turned out to be the software mixing and you already
> gave the solution: After an increase of the software mixer buffer size
> from 256 to 2048, CPU usage is back to normal.
> Is that a size we still can live with?
No comment on that in particular other than test it out and make sure
channels are sufficiently responsive for things like keyclick and voice. One
other thing that I've got brewing is using another channel for previews
during seeking. I wanted it snappy on target but practicality has to have
> Also have a look at FS #12421, that squeezes out
> a bit more performance on RaaA.
> Thanks for you effort not to break maemo when you commited r30097.
Received on 2011-12-01