Before trying this at home, be warned that it could damage your Eee and invalidate your warranty. By continuing to read, you agree that I'm not responsible (heh).
I began by dumping the contents of memory space 0x69 with i2cdump:
'i2cdump -y 0 0x69 s'(bolded since I can't get blogger to do 'code', 'fixed font' or 'pre'; if you get an error, load the i2c-dev kernel module)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 45 f1 a8 f2 f4 00 00 11 1f 1e 00 0f 1e fe 2f 8f E????..???.???/?
10: 68 00 30 05 0a 01 1e 00 68 13 56 04 08 c8 0d h.0????.h?V????
If you look at registers 0x0B and 0x0C you will see that they are 15 30 in hex. My PLL registers as '30 15 1' when using the asus_eee kernel module.
Using i2cset I was able to brute force my FSB and PCIe multipliers in different directions, I stepped through each in both directions to see how far I could get them to go before hanging the computer. Before jumping into i2cset, I used i2cget to ensure I was going to write to the correct register.
'i2cget -y 0 0x69 0x0C w'
0x1e1f
'i2cget -y 0 0x69 0x0B w'
0x0f1f
Note the 1f at the end of the line, it is required that you add it when writing. No matter what register you read, it will always end with '1f'.
'i2cset -y 0 0x69 0x0C 0x1e1f w'
Value 0x1e1f written, readback matched
'i2cset -y 0 0x69 0x0B 0x0f1f w'
Value 0x0f1f written, readback matched
Once I had a good understanding of the boundries, I set out to find the ideal overclock combination, running geekbench after each test. Once I had completed testing I also ran each setting against powersave to see how much additional power would be consumed. I didn't record the watts, only battery time left. Just for kicks, I rebooted into my XP partition and executed the same test. In addition I tested XP in each mode for expected battery life. I did no additional tweaking to XP outside of the Eee PC Restore and setting "hybrid" modes. In even nearly every test, the Ubuntu Geekbench score was higher than XP. Notice though when the multiplier in Linux is set higher, the score dropped!
See the results below:
| OS | Clock | Geekbench | GlxGears | Temp | PF | OD | PS |
| Ubuntu 8.10 | 30/14 | 839 | 649 FPS | 60 C | |||
| 30/15 | 791 | 656 FPS | 59 C | 3.0 H | 3.6 H | 3.6 H | |
| 30/16 | 739 | 572 FPS | 60 C | ||||
| 31/14 | 877 | 715 FPS | 63 C | 3.0 H | 3.5 H | 3.5 H | |
| 33/15 | 869 | 711 FPS | 60 C | ||||
| Windows XP | Super HP | 748 | N/A | N/A | 2.5 H | ||
| HP | 697 | N/A | N/A | 2.43 H | |||
| PowerSave | 488 | N/A | N/A | 3.22 H |
While stock is 30/15, the best bang for the buck is clearly 31/14.
Here is a link to the Spreadsheet - [ LINK ]
For those of you wishing to learn about how to overclock their Linux Eee, or those who are running on a PLL that is currently unsupported, maybe this can help you. In the future, I may release a force-clock tool as a part of Eee PC ACPI Utilities. Today for Eee PCs supported by asus_eee kernel module, and running EeePC ACPI Utilities; you can overclock your Eee by editing the OVERRIDE_FSB and OVERRIDE_MULTIPLIER options in /etc/default/eeepc-acpi and then disconnecting and reconnecting your power cable.
*UPDATE* When overclocked I discovered that the Eee PC wouldn't suspend. Version 1.0.25 (Available for testing: LINK ) re-works the CPU module, init script, and power management script to enable changing the FSB back to factory default before suspending so suspend now works when overclocked! No worries though, when you power back on it will restore your previous setting!
*UPDATE* I found more information on why I seem to be getting better performance from a PCIe underclock!
"At boot, both Asus and Abit manipulate the PCI Express frequency and set ratios that result in a lower PCIe frequency than would be expected at a given clock frequency. Since PCIe frequency and CPU clock frequency are derived from the same PLL, then a Clock frequency of 258 (FSB of 1032), for example, would result in a PCIe frequency of 129. In fact, the Abit PCIe clock at 258 is 118, below the maximum of 120 for most nVidia PCIe cards." [ LINK ]


