Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: 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
its say.

> Also have a look at FS #12421, that squeezes out
> a bit more performance on RaaA.
>

Will do.

> Thanks for you effort not to break maemo when you commited r30097.

NP!

Mike
Received on 2011-12-01


Page was last modified "Jan 10 2012" The Rockbox Crew
aaa