Caanoo / WIZ Speeding Up Wiz Bootup


TitanUranus

Active Member
Joined
Oct 6, 2009
Messages
756
Location
UK
Ok - this might be a really stupid idea, I'm not a developer but I have to ask this question:

Would it be possible to overclock the wiz to - say 800mhz - immediately once it's turned on so all the faffing around it obviously has to go through when booting could be done in less time. Once finally booted it could just pop clock speed back to a reasonable 533mhz (maybe even 532mhz to compensate for power consumed during booting - ha ha)? This really shouldn't drain battery (much) as the incredibly tedious farting around (I think it's called "processing") it'd be doing would still be the same. It would be better to boot up and get it over with in 5 seconds at 800mhz then return to 533mhz, than plodding along and booting up in 10 seconds at 533mhz - taxing my miniscule patience (this theory is not based on my sex life). Ok so I'm crap at maths but you get the idea - and before you really slate me and tell me what an idiot I am for suggesting this, then giving me a million reasons it can't/won't/shouldn't be done, I'm only asking a civilised question. And don't tell me I should learn to program either - I know I should, but I can't right now 'cause I have a headache.

PS. Sorry if I posted this in the wrong place. Also let me add a genuine and heartfelt "thank you" to ALL developers who've contributed to the wiz, it's a lovely little machine and I and many others appreciate your work and hope it continues.
 
TitanUranus said:
Ok - this might be a really stupid idea, I'm not a developer but I have to ask this question:

Would it be possible to overclock the wiz to - say 800mhz - immediately once it's turned on so all the faffing around it obviously has to go through when booting could be done in less time. Once finally booted it could just pop clock speed back to a reasonable 533mhz (maybe even 532mhz to compensate for power consumed during booting - ha ha)? This really shouldn't drain battery (much) as the incredibly tedious farting around (I think it's called "processing") it'd be doing would still be the same. It would be better to boot up and get it over with in 5 seconds at 800mhz then return to 533mhz, than plodding along and booting up in 10 seconds at 533mhz - taxing my miniscule patience (this theory is not based on my sex life). Ok so I'm crap at maths but you get the idea - and before you really slate me and tell me what an idiot I am for suggesting this, then giving me a million reasons it can't/won't/shouldn't be done, I'm only asking a civilised question. And don't tell me I should learn to program either - I know I should, but I can't right now 'cause I have a headache.

PS. Sorry if I posted this in the wrong place. Also let me add a genuine and heartfelt "thank you" to ALL developers who've contributed to the wiz, it's a lovely little machine and I and many others appreciate your work and hope it continues.
It might turn out to be a good way of making your wiz unusable if it decides to stop working at that speed.

Why all the paranoia? I never knew the gang here to be that unreasonable and telling people to learn to code themselves...
Chris
 
Last edited by a moderator:
Not a bad idea, it might be fun to experiment with a setting like this when porting Open2X
 
My suspicion is that the boot procedure is almost entirely I/O bound. What that means is that it spends most of its time loading things off of disk, and since you won't be improving that speed you'll end up with only a small performance improvement. It's the same sort of reason why Bochs can boot Windows in something faster than 1/20th the time it takes to boot it normally.
 
Well there is still lots of room to improve boot times on WIZ/GP2X/Pandora with read-ahead tuning and settling and so on ..
 
A lot of initial bootup things like that are things that won't be helped by overclocking - waiting for devices to settle, waiting for timeouts to occur, setting up memory speeds and other buses, etc.

And playing with something as critical as the core speed while booting sounds suicidal - after all, any overclocking is running chips outside their specification (whether by the chip manufacturer, or the company that made the boards and tied it in with lots of third-party chips - just because the chip can do 800MHz doesn't mean that the rest of the board was designed to do that) and doing so on bootup just sounds more dangerous than necessary.

And for what? Assuming a completely theoretically-perfect CPU-bound process and a 30 second boot time, you would get it down to 19.9 seconds (30*533 / 800) - you can plug in your own numbers for that and see what the best possible result you could get would be). Chances are in reality you're looking at much less than half that speed increase, for a greatly increased battery drain at the time when the chips probably have quite a large draw anyway (lighting up the screen, intialising all the hardware, etc.) and are setting up critical parts of the harder, for a greater risk of bricking the thing (because once the firmware starts ramping up the speed you're probably still not in a place where the user can actually provide input to *stop* that overclocking taking place and so you risk a boot/overclock/crash/reboot loop). For a few seconds that may not even have any noticeable effect at all if your SD card is a little slow to start reading no matter what it's advertised speed?

Most of initial bootup of any device is done slowly - start with basic, "known-safe" settings and slowly discover, initialise and ramp-up the speed of other devices. This is still true of most PC's on their initial bootup - run a basic operating system on your shiny new PC and chances are that you'll be in a gamut of legacy modes that keep RAM, CPU speed, hard-disk speed, video DMA speed etc. to a minimum. It's the OS that does the safe ramp-up to full speed as soon as it's sure the device can handle it, that everything has been initialised in the right order and that the proper timing starts taking hold. BIOS boot loaders often load in really legacy modes, so you gain nothing by whacking the speed up, because it still has to wait for everything else to intialise properly and that's more a "10ms" rather than a "100 instructions" thing.

I'd be dubious you could get much actual speed-up at all, because of the things that the initialisation is doing, and it seems a huge risk for that - one that you're going to have trouble testing and recovering from if it goes wrong.
 
Thanks for your replies - they're all very interesting. If I sounded paranoid it might be 'cause I am, though just because I'm paranoid it doesn't necessarily mean that no one is out to get me.
 
What would be nice is a byte code loader so you could boot your own build of Linux with all the saftys off(e.g. full bus speed) but that being said linux boots from ELF binary much the same way... it would only be a matter of striping hundreds of thousands of lines of hardware init code and customizing the drivers to get quite a speedy boot time. BUT should the kernel crash after extraction then your pretty much screwed(unless the Wiz is able to boot binarys from the SD card with nothing more then a BIOS?)...
 
I seem to recall DJWillis trying this on the GP2X. It didn't make a significant difference from what I remember.
 
Back
Top