Check further room for C1 Overclocking

Moderators: mdrjr, odroid

Check further room for C1 Overclocking

Unread postby joy » Fri Nov 25, 2016 3:57 pm

(Updated)

Hi all,

We've checked if there is additional available room for overclocking on C1/C1+.
and released new patches related to overclock ODROID-C1/C1+.

The commits contents are as following.
1. Adjust sys pll table
2. A new cpu set, 1.824GHz
3. Add interface to set cpu max frequency flexibly using boot.ini

1. Adjust sys pll table
For 1.728GHz, as I checked with sysbench result,
there are some gabs between actual result and the value I expected.
It looks the sys pll table should be adjusted for 1.656GHz and higher sets including 1.728GHz.

The following is a sysbench result.
a. sysbench result
Code: Select all
[ cpu frequency ]  -- [ execution time of sysbench ]
    1488 MHz       --       106
    1536 MHz       --       103.1158
    1632 MHz       --       96.8602
    1728 MHz       --       93.5120
    1824 MHz       --       86.7268
    1920 MHz       --       82.3084

b. sysbench result with the existing sys pll
Code: Select all
[ cpu frequency ]  -- [ execution time of sysbench ]
    1488 MHz       --       106
    1536 MHz       --       103.1185
    1632 MHz       --       96.9808
    1728 MHz       --       95.5430
    1824 MHz       --       94.2399
    1920 MHz       --       92.8376

2. A new cpu set, 1.824GHz
A new CPU frequency set, 1.824GHz has been added.
I put some aging tests with 'stress' and 'cpuburn' in case of 1.824GHz.
2ea boards kept alive for over 15hours and for 4ea boards, it was working without system hang for short duration tests.
As I've tried over 1.848GHz and higher frequency, some boards kept alive but the others' system stopped in a couple of minutes.

3. Add interface to set cpu max frequency flexibly using boot.ini
To modify cpu max frequency value, you can just change a value in boot.ini.
And in case of Android, it's available to modify it using ODROID Utility.

For further information about how to set boot.ini, please refer to the following wiki page.
http://odroid.com/dokuwiki/doku.php?id= ... erclocking

4. Release version of Ubuntu and Android
(1) Ubuntu version is released with the below version.
- Ubuntu : 3.10.104-177

(2) Android is also available with the below version.
- Android : Android 4.4.4 v3.4
And please note that in case of Android with 1.824GHz, system booting and heavy load test like Antutu and Stability is unstable.
So we don't recommend to run it currently.
Last edited by joy on Mon Nov 28, 2016 5:06 pm, edited 1 time in total.
joy
 
Posts: 336
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X

Re: Check further room for C1 Overclocking

Unread postby emu_can » Fri Nov 25, 2016 6:11 pm

Great! 1.824Ghz is working stably on my C0 board too even I tested only 2 hours. ;) Always thank you for your hard work.
Do you have any plan to add 1.92Ghz? I know well even you guys can't guarantee the stability.
emu_can
 
Posts: 24
Joined: Tue Sep 06, 2016 2:06 pm
languages_spoken: english
ODROIDs: Several C2 boards.
2 x C0, 2 x XU4

Re: Check further room for C1 Overclocking

Unread postby joy » Sat Nov 26, 2016 8:46 am

emu_can wrote:Great! 1.824Ghz is working stably on my C0 board too even I tested only 2 hours. ;) Always thank you for your hard work.
Do you have any plan to add 1.92Ghz? I know well even you guys can't guarantee the stability.


Hello emu_can,
Thank you for sharing your test result. :)

I've tried 1.92GHz cpu frequency and put some stress tests.
In case of almost C1+ boards, system stopped as soon as running stress test
and for some board, system fault or hang occurs at the time immediately when cpuinfo_cur_freq is set to 1.920GHz.
And as we checked, there is no more room to increase vcck voltage.
So We think it's not available to support 1.920GHz overclocking officially. :(

The following is the commit of 1.824GHz overclocking.
You can refer to the routine to add 1.920GHz overclocking. ;)
https://github.com/hardkernel/linux/com ... b8c778c243
joy
 
Posts: 336
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X

Re: Check further room for C1 Overclocking

Unread postby mad_ady » Sun Nov 27, 2016 1:58 am

@joy: could you also add support for numcpus in boot.ini - so that we can use fewer cores if not needed, or would it make no difference in terms of temperature/stability?
At least it would be more similar to the C2 boot.ini :)
Thanks for OC support!
User avatar
mad_ady
 
Posts: 2781
Joined: Wed Jul 15, 2015 5:00 pm
Location: Bucharest, Romania
languages_spoken: english
ODROIDs: XU4, C1+, C2

Re: Check further room for C1 Overclocking

Unread postby joy » Mon Nov 28, 2016 2:26 pm

mad_ady wrote:@joy: could you also add support for numcpus in boot.ini - so that we can use fewer cores if not needed, or would it make no difference in terms of temperature/stability?
At least it would be more similar to the C2 boot.ini :)
Thanks for OC support!

Hi mad_ady, :)
Thank you for your opinion.

Currently, supporting a flexible cpu number using maxcpu is not working on C1 ubuntu.
And whenever I set online node of each cpu, cpu becomes alive.
I'm trying to figure it out,
but it looks it's complicated. :(

Code: Select all
IRQ95 no longer affine to CPU3
CPU3: shutdown
IRQ94 no longer affine to CPU2
CPU2: shutdown
CPU3: Booted secondary processor
CPU2: Booted secondary processor
joy
 
Posts: 336
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X

Re: Check further room for C1 Overclocking

Unread postby mad_ady » Mon Nov 28, 2016 3:35 pm

So the parameter is working, but something turns back on the cpus? Maybe it's the governor - can you try with powersave?
Anyway, it's not a crucial feature. I can always turn cores off after boot manually
User avatar
mad_ady
 
Posts: 2781
Joined: Wed Jul 15, 2015 5:00 pm
Location: Bucharest, Romania
languages_spoken: english
ODROIDs: XU4, C1+, C2

Re: Check further room for C1 Overclocking

Unread postby joy » Mon Nov 28, 2016 5:42 pm

mad_ady wrote:So the parameter is working, but something turns back on the cpus? Maybe it's the governor - can you try with powersave?
Anyway, it's not a crucial feature. I can always turn cores off after boot manually

Yes, you're right. It seems to be related to governor issue.
But, I've tried other options and modify default governor at boot time but same.
And I think we need to check it more how to handle it regardless of governor.

Please use the manual way now. Let's put it off a little bit. ;)
joy
 
Posts: 336
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X

Re: Check further room for C1 Overclocking

Unread postby rowan194 » Tue Jan 24, 2017 4:47 pm

Just found this info. I have a small cluster of C1s that run a CPU bound application (8 processes per board -> load 8.0) so I was very interested to see that overclocking was possible, especially after finding out that the C2 doesn't do a true 2GHz clock speed. Overclocking each C1 by 18% is like adding 3/4ths of another board to the cluster... ;)

I was testing at 1.824GHz for nearly 48 hours, then discovered my test had been tainted because of running out of storage space. The application did still seem to be working, and load was still high as expected, but I can't be 100% sure that the disk space issue didn't affect it. I've freed up space and restarted the test.

How have others gone with overclocking?
rowan194
 
Posts: 142
Joined: Tue Jun 02, 2015 1:43 am
languages_spoken: english
ODROIDs: C1, XU4, C2

Re: Check further room for C1 Overclocking

Unread postby rowan194 » Tue Jan 24, 2017 5:36 pm

Has anyone had their eth0 randomly switch from gigabit to 100Mbit since overclocking? Not sure if it's coincidence (eg a bad switch port), or something to do with Ubuntu 16, or it's due to the overclock. Maybe it's even the application hogging the CPU.

Code: Select all
[15873.962040] [adjust link -> eth: am_adjust_link state change (new_state=true)
[15873.962053] libphy: 0:01 - Link is Down
[15885.962065] [adjust link] -> eth: full-duplex
[15885.962077] [adjust link] -> eth: phy_speed <> priv_speed)
[15885.962081] [adjust link] -> eth: switching to RGMII 100
[15885.962093] [adjust link -> eth: am_adjust_link state change (new_state=true)
[15885.962098] libphy: 0:01 - Link is Up - 100/Full
[15885.962143] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready


It has happened twice in the past 48 hours.
rowan194
 
Posts: 142
Joined: Tue Jun 02, 2015 1:43 am
languages_spoken: english
ODROIDs: C1, XU4, C2

Re: Check further room for C1 Overclocking

Unread postby rowan194 » Thu Jan 26, 2017 9:24 pm

Update on testing.

Have been running a C1 overclocked to 1.824GHz for 55 hours, with all cores at full load. 8 processes of a near 100% CPU bound app, current load 1/5/15 min is 8.02 / 8.03 / 8.05.

I have also been running the same on a C2.

This is not a synthetic benchmark, it's a real application doing useful work.

Twice during this period, the ethernet on the C1 has gone down then 12 seconds later come back up, the first time switching from 1Gbps to 100Mbit, and subsequently staying at the lower speed. I don't know if this is related to the overclocking. This is the only known issue with the overclocked C1; everything else seems to be working fine.

Units of useful work:

C1 @1.824GHz (overclock)
--> average 9.8 megaops/sec

C2 @1.536GHz (stock; the wiki page does warn that overclocking the C2 with 4 active cores may cause instability)
--> average 10.2 megaops/sec

So the stock C2 still beats the overclocked C1 when it comes to this application, but only just, by about 4%.

Now, if a C1 can run stable at 1.824GHz with all four cores under full load, how do we raise that clock speed further? :D
rowan194
 
Posts: 142
Joined: Tue Jun 02, 2015 1:43 am
languages_spoken: english
ODROIDs: C1, XU4, C2

Re: Check further room for C1 Overclocking

Unread postby meveric » Fri Jan 27, 2017 12:07 am

This actually shows how bad the C2 performs. I've seen similar results with different games which are so much slower than you actually would expect them to be.
If you compare Cortex-A53 vs Cortex-A5 (C2 vs C1) you see that Cortex-A5 should be able to handle 1.57 DMIPS/MHz means 1.57 * 1824 = 2863.68 per core.
While the C2 with a Cortex-A53 should have 2.3 * 1536 = 3532,8
Which means the C2 on default clock should be 23% faster than the overclocked C1. Still the results show only 4% more speed. Even if these are "theoretical" values, you should see at least 10% more speed on the system, but in fact it's much less.

I often compare the ODROID C2 with the ODROID U3 (Cortex-A9 vs Cortex-A53 / 2.5 DMIPS/MHz vs 2.3 DMIPS/MHz) but from my current results I can say the C2 is quite a bit slower than the U3, although the U3 is much much older.
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.
User avatar
meveric
 
Posts: 7874
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: ODROID-X2,ODROID-U2,ODROID-U3,ODROID-XU-Lite, ODROID-XU3, ODROID-XU3-Lite, ODROID-C1, ODROID-XU4, ODROID-C2

Re: Check further room for C1 Overclocking

Unread postby rooted » Fri Jan 27, 2017 3:13 am

DMIPS is basically a made up number, but the performance you see based on testing shows what? This is the real measure.

How long to compile the kernel on the U3 vs the C2?
User avatar
rooted
 
Posts: 3658
Joined: Fri Dec 19, 2014 9:12 am
Location: Gulf of Mexico, US
languages_spoken: english
ODROIDs: C1
C1+
C2
XU3 Lite
XU4
VU7+
HiFi Shield 2
Smart Power (original)

Re: Check further room for C1 Overclocking

Unread postby meveric » Fri Jan 27, 2017 4:33 am

Exactly, the theory says the C2 should be a lot faster than the C1 but the praxis shows it's not.

Comparing Kernel build time on U3 and C2 is not a good test, since U3 has a total different Kernel than the C2; 3.8 vs 3.14 don't think that's a good test.
Let's try something that's the same on both devices, although it's still semi-fair, since the I/O of the U3 is significantly slower than on the C2, but let's try anyway:

TVHeadend, both compiled on Debian Jessie, same compiler, no platform specific flags or optimization (in fact none at all).

U3@1920MHz:
real 6m20.548s
user 5m4.310s
sys 0m23.730s

C2@1680MHz:
real 7m19.265s
user 6m25.840s
sys 0m26.340s

so U3 is 13~14% faster.

Which is just number crunching, pared with some I/O.

Still as I said the overall experience seems to be slower.
RVGL on the U3 runs mostly all the time at 60 FPS, while the same on the C2 runs between 30~55 FPS.
And the C2 version is highly optimized compared to the U3 version. Other games and programs I have similar experience.
OpenXCom, which is default SDL graphics, so no GPU involved
On the U3 (default 1704 MHz) 30~45 FPS in fights
On the C2 (default 1536 MHz) 20~30 FPS in fights
That's a huge difference.
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.
User avatar
meveric
 
Posts: 7874
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: ODROID-X2,ODROID-U2,ODROID-U3,ODROID-XU-Lite, ODROID-XU3, ODROID-XU3-Lite, ODROID-C1, ODROID-XU4, ODROID-C2

Re: Check further room for C1 Overclocking

Unread postby rooted » Fri Jan 27, 2017 6:39 am

I wasn't doubting you since I have no U3 or experience with it, I am genuinely curious about real world numbers between them.

I of course meant to compile the same kernel source on both devices with the same defconfig and GCC revision (if possible) ;)

What you posted above is good enough to see a significant difference.
User avatar
rooted
 
Posts: 3658
Joined: Fri Dec 19, 2014 9:12 am
Location: Gulf of Mexico, US
languages_spoken: english
ODROIDs: C1
C1+
C2
XU3 Lite
XU4
VU7+
HiFi Shield 2
Smart Power (original)

Re: Check further room for C1 Overclocking

Unread postby rowan194 » Fri Jan 27, 2017 11:19 am

Just for interest, I also started the test with an XU4, but I didn't leave it running for long - CPU temp was in the mid 90s, the current limit LED on my power supply was flickering (set to limit at 5A... so the board was drawing around 25W!), and I could smell hot electronics.

It's a pity the XU4 can't handle the thermal load because based on the few minutes it was running it was achieving a useful work rate of around 1.5 times the C2... although it does have a few more physical cores. :)

(Note that in this case, useful work rate is a per-device metric, not per core. I'm assessing complete devices to see how useful they are in a cluster, not just comparing the basic performance differences between A5 and A53 cores)
rowan194
 
Posts: 142
Joined: Tue Jun 02, 2015 1:43 am
languages_spoken: english
ODROIDs: C1, XU4, C2

Re: Check further room for C1 Overclocking

Unread postby meveric » Fri Jan 27, 2017 4:11 pm

The XU4 is known for overheating easily. It also throttles quickly if it gets too hot.
XU4 shouldn't be used with all cores maxed out. 2 Cortex-A15 cores maxed out should run pretty stable at 80~85°C with 3 cores at 100% you already hit 95°C and it will start throttling.
The single core performance of the XU4 is much higher than the C2, probably even higher than 1.5 times. If you are able to implement proper cooling (better heatsinks and fan) you could probably run 3 or even 4 Cortex-A15 cores at 100% all the time, but even 2 cores maxed out are probably outperforming the C2 already.
So rather putting all 8 cores to use, limit your program to only two threads and see how it works.

Some users even managed to overclock the XU4 to 2.1 GHz as long as you don't run all cores at once the performance should be impressive.
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.
User avatar
meveric
 
Posts: 7874
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: ODROID-X2,ODROID-U2,ODROID-U3,ODROID-XU-Lite, ODROID-XU3, ODROID-XU3-Lite, ODROID-C1, ODROID-XU4, ODROID-C2

Re: Check further room for C1 Overclocking

Unread postby rowan194 » Sun Jan 29, 2017 2:34 pm

Still running the 8 process test on the C1 - discovered that one process was killed by the OS, which doesn't look good. :( Not sure if it's just a coincidental bit flip that corrupted the processes executable memory, or it's caused by the overclock. Don't recall this ever happening at 1.5GHz.

Code: Select all
[334647.028599] Alignment trap: not handling instruction ed9c4b00 at [<0001534a>]
[334647.030369] Unhandled fault: alignment exception (0x001) at 0x008351da
rowan194
 
Posts: 142
Joined: Tue Jun 02, 2015 1:43 am
languages_spoken: english
ODROIDs: C1, XU4, C2

Re: Check further room for C1 Overclocking

Unread postby odroid » Mon Jan 30, 2017 8:51 pm

Try the "performance" governor on C1.
http://odroid.com/dokuwiki/doku.php?id= ... erformance
User avatar
odroid
Site Admin
 
Posts: 25040
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID

Re: Check further room for C1 Overclocking

Unread postby rowan194 » Mon Jan 30, 2017 10:37 pm

Ho hum. Now up to 3 processes that have been killed by the OS...

Code: Select all
[334647.028599] Alignment trap: not handling instruction ed9c4b00 at [<0001534a>]
[334647.030369] Unhandled fault: alignment exception (0x001) at 0x008351da
[448421.780140] Alignment trap: not handling instruction ed875b00 at [<0001524c>]
[448421.781911] Unhandled fault: alignment exception (0x801) at 0x028046b9
[517695.226187] Alignment trap: not handling instruction ed995b00 at [<000151fc>]
[517695.227957] Unhandled fault: alignment exception (0x001) at 0x0c483711


I don't know if this is caused by the overclocking, or the change in runtime environment (Ubuntu 14->16, gcc 4-> gcc 5 etc). I've been running my cluster (at stock 1.5GHz) on Ubuntu 14 all this time, without ever seeing this issue.

Will wind back the overclocked Ubuntu 16 board back to stock 1.5GHz and see what happens.
rowan194
 
Posts: 142
Joined: Tue Jun 02, 2015 1:43 am
languages_spoken: english
ODROIDs: C1, XU4, C2

Re: Check further room for C1 Overclocking

Unread postby odroid » Tue Jan 31, 2017 9:27 am

Very strange.
We need to find a way to reproduce the issue.
Please check the RAM usage while you run the cluster.
User avatar
odroid
Site Admin
 
Posts: 25040
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID

Re: Check further room for C1 Overclocking

Unread postby rowan194 » Sun Feb 05, 2017 8:33 pm

Have had the C1 running at stock (1536) for nearly 6 days, and all processes are still present, so the problem above may be related to the overclock. :-\

Going to try 1728.
rowan194
 
Posts: 142
Joined: Tue Jun 02, 2015 1:43 am
languages_spoken: english
ODROIDs: C1, XU4, C2

Re: Check further room for C1 Overclocking

Unread postby rowan194 » Sat Feb 11, 2017 10:50 pm

1728 seems to have worked okay for the past 6 days, apart from one odd thing:

Code: Select all
[   26.444510] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[360475.815883] tvmode set to 1080p

[360475.815903] don't set the same mode as current.
[360475.862285] tvmode set to 1080p

[360475.862303] don't set the same mode as current.
[360521.402183] tvmode set to 1080p

[360521.402201] don't set the same mode as current.
[360521.431875] tvmode set to 1080p

[360521.431893] don't set the same mode as current.
[360570.391616] tvmode set to 1080p

[360570.391635] don't set the same mode as current.
[360570.439813] tvmode set to 1080p

[360570.439832] don't set the same mode as current.


A little over 4 days after boot, it seems to have been doing something related to the display, except..... I have the VPU (setenv vpu "0") and HDMI (setenv hdmioutput "0") disabled in boot.ini :?:
rowan194
 
Posts: 142
Joined: Tue Jun 02, 2015 1:43 am
languages_spoken: english
ODROIDs: C1, XU4, C2

Re: Check further room for C1 Overclocking

Unread postby rowan194 » Sat Feb 25, 2017 1:44 pm

Have been running up at 1824 once more, after nearly 2 weeks the alignment trap happened again...

Code: Select all
[1168858.232298] Alignment trap: not handling instruction ed9c5b00 at [<00015112>]
[1168858.234154] Unhandled fault: alignment exception (0x001) at 0x1c489352


I'm familiar with user level C debugging but not so much with Linux kernel specifics, or the ARM platform. Can I get some assistance on deciphering this error? Seems to be suggesting something more serious than a basic application error doing something stupid to cause a segfault. Could it be code segment corruption causing a branch to an unaligned address? Just guessing here. Would appreciate any help. Thanks.
rowan194
 
Posts: 142
Joined: Tue Jun 02, 2015 1:43 am
languages_spoken: english
ODROIDs: C1, XU4, C2

Re: Check further room for C1 Overclocking

Unread postby odroid » Sun Feb 26, 2017 12:17 pm

I've used my C1+ for a couple of days with 1.824Ghz and I couldn't meet the alignment trap issue.
I built the kernel source several times with '-j5' option and enjoyed a couple of videos with new Kodi 17.
My CPU governor was always "performance".
http://odroid.com/dokuwiki/doku.php?id= ... erformance
Which governor did you use?
User avatar
odroid
Site Admin
 
Posts: 25040
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID

Re: Check further room for C1 Overclocking

Unread postby rowan194 » Mon Feb 27, 2017 7:29 am

odroid wrote:I've used my C1+ for a couple of days with 1.824Ghz and I couldn't meet the alignment trap issue.


Can you try it for longer? First time it happened to me after 3 days, second time it was nearly 2 weeks before anything went wrong.

odroid wrote:My CPU governor was always "performance".
http://odroid.com/dokuwiki/doku.php?id= ... erformance
Which governor did you use?


Looks like it was set to interactive by default. I've now changed it to performance, have rebooted, and restarted the testing.

Ethernet is still stuck at 100Mbps. :( I swapped cables with another board (which also swapped ports at the switch) but there's no change; every boot/power cycle still negotiates 100Mbps (even back at stock 1536MHz). I wonder if something's fried.
rowan194
 
Posts: 142
Joined: Tue Jun 02, 2015 1:43 am
languages_spoken: english
ODROIDs: C1, XU4, C2

Re: Check further room for C1 Overclocking

Unread postby odroid » Mon Feb 27, 2017 9:44 am

Check ethtool eth0 output to see the Ethernet status.
User avatar
odroid
Site Admin
 
Posts: 25040
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID


Return to General Chat

Who is online

Users browsing this forum: No registered users and 1 guest