Rockbox

Tasklist

FS#6040 - CPU Timing/Boost on H10

Attached to Project: Rockbox
Opened by Holger Winnemoeller (Lazerman) - Thursday, 21 September 2006, 22:41 GMT
Last edited by Nils Wallménius (nls) - Sunday, 08 July 2007, 15:37 GMT
Task Type Bugs
Category Operating System/Drivers
Status Closed
Assigned To No-one
Operating System iriver H10
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

As far as I can remember, the CPU boost feature has been disabled on the H10 because it could cause the system to hang. It would really be useful to get this to work properly, because otherwise the playback will be interupted by anything from scrolling through long lists to using most of the plugins.

I am wondering if the original problem was an incorrect setting for the CPU speed (this was addressed in a later fix, I think). For example, currently zbox runs at about 40% speed, and the speed-boost option (in zbox, not rockbox) pushes that speed to 200%. These kind of strange numbers (it seems normal mode for zbox should be 100%, not 40%), makes me think that either rockbox is reporting an incorrect clock speed, or zbox is computing something incorrectly.

As a general idea (not having looked at the code in detail) I am wondering if it would be possible to boost CPU not by default, but on a need-to-boost basis. As in: If the play buffer gets below x1 percent, fill the play buffer in normal CPU mode. If it gets below x2(<x1), fill it in CPU-boost mode. Shouldn't add much more code and might save some battery, particularly on powerful CPUs.
This task depends upon

Closed by  Nils Wallménius (nls)
Sunday, 08 July 2007, 15:37 GMT
Reason for closing:  Fixed
Additional comments about closing:  cpu fequency scaling is now enabled and stable on the h10
Comment by Dominik Riebeling (bluebrother) - Friday, 22 September 2006, 07:21 GMT
Your "general idea" is the way how boosting works in Rockbox. It's intended to make Rockbox work equally on all targets, so boosting will get implemented. The thing is it hasn't been adressed yet. Please take into account that that the h10 port is still in its early stages.

I don't believe submitting "bug" reports on issues that simply haven't been addressed because the port is still in its early stages are helpful. It's things the devs are already aware of.
Comment by Holger Winnemoeller (Lazerman) - Friday, 22 September 2006, 19:55 GMT
I wasn't talking about the fact that only certain parts of the code run boosted, but that some of the boosting is done independently of the current system load, or play-buffer drain-rate. When looking through the code I've only seen the encoders use a conditional boost strategy, most other cpu_boost calls are not protected by conditionals. I was thinking that this might be worthwhile doing because e.g. the H10 plays quite well unboosted (if you don't do anything else at the time). This might save a fair amount of power when boosting isn't really required, and also prevent clock stabilization issues after each boost switch. For this to work nicely it might be useful to have a function that you can query to see if current play-buffer drain is greater than realtime.

Otherwise, the idea wasn't to "bug" the devs about a problem they are aware of, but to provide some usage info that might be helpful in solving the problem. If there is a better way to do that I am all for it.
Comment by Paul Louden (darkkone) - Sunday, 24 September 2006, 05:03 GMT
Out of curiosity, I thought that with boosting disabled the H10 ran permanently boosted right now? That's what we did with the iPods at least, the speed changing allowed it to run at lower speeds, not higher ones, primarily to save battery life.
Comment by Barry Wardell (barrywardell) - Thursday, 05 October 2006, 10:22 GMT
I think the H10 does currently always run boosted. So enabling CPU boost will not affect performance, but will save some battery life.
I have added  FS#6095  as a related task. Once that has been solved, we should be able to enable boosting straight away.
Comment by bodymind (bodymind) - Tuesday, 03 April 2007, 17:35 GMT
it happens on my sansa e200 when i'm playing a song, everything goes really slow: scrolling menus, changing a song, pausing, stoping...(it only happends when playing songs, on every plugins(video,rockboy,images) that ive tried, it works fast and good) should i add a new bug? or to comment in here is fine?

Loading...