No performance difference between 1.5, 1.75 & 2GHz

Post Reply
joy
Posts: 1279
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 128 times
Been thanked: 154 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by joy » Wed Aug 31, 2016 12:29 pm

mlinuxguy wrote:Not exactly, I'm still puzzling over what I'm seeing
I can boot 1.5ghz and 1.65ghz off the USB 5v 2a power supply, however when I set it to 1.658ghz it gets to the point midway thru the kernel boot where it does some eMMC frequency settings and then resets
I have nothing plugged into USB, just 1gb nic. It could be I just have marginal power to boot it, but I'm puzzled over why it was when I set it to 1.68ghz that I
started getting the resets. Once I switched to HK power it booted at 1.68ghz

The board is: Rev 0.2 12151218
It doesn't make sense to be resetting due to the 1.68ghz setting since it shouldn't be at that frequency at that stage of boot.
Hmm, strange..
I'm checking booting supplying power USB otg port and 5V/2A adaptor and trying to reproduce the reset error using 7ea C2 board samples,
but it's ok by my side.
If you have any update, please share it here. I will check some again, too.

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Wed Aug 31, 2016 12:40 pm

Testing 1.68ghz with all 4-cores active
Note: using my cutdown XU4 heatsink with high-performance heatsink compound for all testing
Note: all tests are with GPU disabled in boot.ini

root@odroid64-1:~# ./dumpfreq.sh
scaling_cur_freq: 1680000
Scaling_available_frequencies: 100000 250000 500000 1000000 1296000 1536000 1680000
Scaling_max_freq: 1680000
Scaling_governor: interactive
setting performance governor

sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run
Freq, total time, total events, time event exec, exec time
1680000, 5.5194, 10000, 22.0617, 5.5154

=== ./cpuburn-a53
Note: the results from 1.656ghz versus 1.68ghz are nearly identical temperatures, the big heatsink really pulls the heat out

Code: Select all

root@odroid64-1:~# tail 1656.txt
1950,67,1656000
1955,68,1656000
1960,67,1656000
1965,68,1656000
1970,67,1656000
1975,67,1656000
1980,68,1656000
1985,67,1656000
1990,68,1656000

root@odroid64-1:~# tail 1680.txt
1980,69,1680000
1985,69,1680000
1990,69,1680000
1995,69,1680000
2000,69,1680000
2005,69,1680000
2010,69,1680000
2015,69,1680000
2020,69,1680000
2025,69,1680000
couple degrees warmer on exit at 1.68ghz
combo_freq.png
Combined plot of 1.65ghz and 1.68ghz
(28.9 KiB) Downloaded 2617 times
Please note that I am using the power supply barrel connector not the USB OTG power port for all tests
If I can provide more power through the USB let me know

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Wed Aug 31, 2016 1:11 pm

Done testing with GPU off using the available frequencies
I would like to continue testing by going to 1.75ghz and higher

Can I edit dvfs_board.c to keep upping the frequency?
Or will I need a new binary blob with the higher frequencies inside it?

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Wed Aug 31, 2016 1:27 pm

Apparently I can continue with higher frequencies, onwards and upwards we go...
Note: GPU still off, finding the max without it for headless

root@odroid64-1:~# ./dumpfreq.sh
scaling_cur_freq: 1752000
Scaling_available_frequencies: 100000 250000 500000 1000000 1296000 1536000 1680000 1752000
Scaling_max_freq: 1752000
Scaling_governor: interactive
setting performance governor

# sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run
Freq, total time, total events, time event exec, exec time
1750000, 5.4864, 10000, 21.9191, 5.4798

=== ./cpuburn-a53
To be updated soon assuming it doesn't burn a hole in my desk....
half-way point, this time we've nearly hit the max temp of the previous frequencies (still have 1000 seconds to go)

Code: Select all

985,67,1752000
990,67,1752000
995,67,1752000
1000,67,1752000
1005,68,1752000
1010,68,1752000

joy
Posts: 1279
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 128 times
Been thanked: 154 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by joy » Wed Aug 31, 2016 1:48 pm

mlinuxguy wrote:Done testing with GPU off using the available frequencies
I would like to continue testing by going to 1.75ghz and higher

Can I edit dvfs_board.c to keep upping the frequency?
Or will I need a new binary blob with the higher frequencies inside it?
The current bl30.bin is NOT available for 1.75GHz and higher but, for max 1.680GHz.
Even though you can see the table of 1.75GHz after adding the option in dvfs table of firmware, it's not true 1.75GHz.
New one is needed and it's still under way.
Once it's done, soon I will share the status and resources you can test.
So don't waste your time for 1.75Ghz and higher cases with the current resources.

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Wed Aug 31, 2016 1:54 pm

Weird, did you see the sysbench results?
Bogus 1.75ghz
Freq, total time, total events, time event exec, exec time
1750000, 5.4864, 10000, 21.9191, 5.4798

1.68ghz
Freq, total time, total events, time event exec, exec time
1680000, 5.5194, 10000, 22.0617, 5.5154

Ok that might explain why the temp is peaking again at 68C, 1540 seconds into the test
Probably a variation on the sysbench run was all.

While I wait for the new binary blob, I'll turn the GPU back on and see if I can match my 4-core active at 1.68ghz

joy
Posts: 1279
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 128 times
Been thanked: 154 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by joy » Wed Aug 31, 2016 2:31 pm

mlinuxguy wrote:Weird, did you see the sysbench results?
Bogus 1.75ghz
Freq, total time, total events, time event exec, exec time
1750000, 5.4864, 10000, 21.9191, 5.4798

1.68ghz
Freq, total time, total events, time event exec, exec time
1680000, 5.5194, 10000, 22.0617, 5.5154

Ok that might explain why the temp is peaking again at 68C, 1540 seconds into the test
Probably a variation on the sysbench run was all.

While I wait for the new binary blob, I'll turn the GPU back on and see if I can match my 4-core active at 1.68ghz
Yes, it looks the performance might be improved with 1.75GHz.
But, ideally, the expected value of execution time should be around 5.28~5.29.
(Also I was confused with this offset before. :) )

Based on our test result,

1GHz (x1.0) - exec time : 9.2684/0.00
1.536GHz (x1.536) - exec time : 6.0120/0.00 (expected value : approx. 6.0341)
1.680GHz (x1.680) - exec time : 5.5014/0.00 (expected value : approx. 5.5169)
1.752GHz (x1.752) - exec time : 5.4939/0.00 (expected value : approx. 5.2902)

And we're checking how to measure the exact throughput according to each cpu frequency and cores.
Including a new version of 1.75GHz and higher, it will be shared if there is any update.

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Wed Aug 31, 2016 2:48 pm

GPU on, 1.68ghz, all 4-cores active, no HDMI cable, only 1gb nic cable plugged in
Note: no discernible difference in temps with the GPU without a monitor attached, note that in my previous tests during c2 beta
I found with 4k display the temps were 10C hotter, I will hook up a HDMI cable but only configure 1080p and re-run this test.
ref my previous posts with 4k monitor and temp table: http://forum.odroid.com/viewtopic.php?f ... 50#p131187

Code: Select all

sec,temp, freq
1705,67,1680000
1710,67,1680000
1715,67,1680000
1720,67,1680000
I'm a bit puzzled why I'm getting success with 1.68ghz and all 4 cores active, while HK has "mixed" results
Recall I am using a cut-down XU4 heatsink with the TIMS removed, using high-end heat-sink compound.
This implies that there is a hot-spot on the SOC where the TIMS+stock cooler is not adequately dispersing the heat compared to mine

re-running 1.68ghz tests with 1080p monitor active and logged in
note: temperatures start 5C warmer at idle, right now at 215 seconds into the test its 3C warmer with the monitor enabled versus the headless test at the same timeframe
Ending temperatures with 1080p res monitor + USB hub + keyboard + mouse (Note: powered USB hub)

Code: Select all

975,70,1680000
1980,70,1680000
1985,70,1680000
1990,70,1680000
1995,70,1680000
2000,70,1680000
2005,70,1680000
2010,71,1680000
so a few degrees C warmer by 2000 seconds than tests without 1080p monitor enabled, still no hang.

I'll wait on further tests until 1.75ghz and 2ghz support are in bl30.bin from HK
p.s. If those work for me, give me 2.1ghz next :oops:

re-running an old Phoronix test-suite benchmark test
reference the original test results with the "fake" 2ghz (really 1.5ghz) cpu clock: http://openbenchmarking.org/result/1603 ... DROIDPI362
It isn't done with all the tests but the one's that have completed are below:

Code: Select all

TEST                   1.68ghz Odroid-c2         1.5ghz locked Odroid-c2
John the ripper        953                       852             (larger better)
c-ray                  168.385                   186.93          (smaller better)
Wav to Flac             143.3                    155.58          (smaller better)
The new benchmark as compared to its competition and its old self: http://openbenchmarking.org/result/1608 ... 603255GA96

Vasant
Posts: 139
Joined: Mon Jan 19, 2015 3:44 pm
languages_spoken: english
ODROIDs: Odroid-c1
Has thanked: 0
Been thanked: 12 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by Vasant » Thu Sep 01, 2016 5:40 am

Hi,

I am not very hopeful about this. Amlogic was already aware of the maximum clock speed possible for the SOC and they did not inform their customer.
I think if we try to push the clock speed, the board will most like encounter stability issues.
At 1.5Ghz this CPU is only marginally faster than Pine64/Raspberry Pi 3. I still think it is a better board but the question is, if it is worth the $5/- delta.
I think HK should negotiate a better price for the SOC and pass this to their customer.

Vasant

User avatar
rooted
Posts: 7744
Joined: Fri Dec 19, 2014 9:12 am
languages_spoken: english
Location: Gulf of Mexico, US
Has thanked: 720 times
Been thanked: 208 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by rooted » Thu Sep 01, 2016 6:00 am

Vasant wrote:Hi,

I am not very hopeful about this. Amlogic was already aware of the maximum clock speed possible for the SOC and they did not inform their customer.
I think if we try to push the clock speed, the board will most like encounter stability issues.
At 1.5Ghz this CPU is only marginally faster than Pine64/Raspberry Pi 3. I still think it is a better board but the question is, if it is worth the $5/- delta.
I think HK should negotiate a better price for the SOC and pass this to their customer.

Vasant
I wouldn't call 40% +- marginally faster.

I agree there will be stability issues, and I also agree Amlogic should indeed charge less and pass these savings on to HK and ultimately us the end consumer.

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Thu Sep 01, 2016 7:08 am

Vasant wrote:At 1.5Ghz this CPU is only marginally faster than Pine64/Raspberry Pi 3.
To clarify matters: The C2 performs the same as when they released it, those numbers showing it faster or slower have not changed. The 2ghz to 1.5ghz is not a
sudden reduction in benchmark or overall performance numbers, those stay the same. The 2ghz label is all that changes, since it turns out it was running at 1.5ghz the entire time.

Now we have the potential to actually increase the performance of the board by correctly setting the frequencies to whatever the maximum ends up being.
Click my link to the new benchmark scores at 1.68ghz 2 posts above this one. You can see it is now faster than before.

What ends up being its final shipping clock-rate has yet to be determined. It looks promising, especially for headless operations, and we might end up with a faster system than we had before all this was exposed. Do not be side-tracked by the erroneous 2ghz label, it has never performed at 2ghz prior to this.

I am a bit dismayed that we are still dependent on Amlogic to provide the BL30.bin signed binary with the frequency and voltage settings predetermined
Ultimately it should be a setting we can control in boot.ini, where I can pass any volt/freq combo in as an argument. Give us a set of stable values in bl30.bin but allow us to override the max.

crashoverride
Posts: 5010
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 308 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by crashoverride » Thu Sep 01, 2016 8:08 am

Vasant wrote:At 1.5Ghz this CPU is only marginally faster than Pine64/Raspberry Pi 3. I still think it is a better board but the question is, if it is worth the $5/- delta.
Ask a RPi3 owner if they would pay $5 more for double the RAM (2GB).
mlinuxguy wrote:Ultimately it should be a setting we can control in boot.ini, where I can pass any volt/freq combo in as an argument.
At least its not locked in hardware like Intel does on their processors. The PC world is pretty much the same these days. The volt/freq settings are in BIOS and can not be altered beyond what the manufacturer provided. The BIOS is also signed now as part of trusted boot.

Pepes
Posts: 98
Joined: Mon Feb 15, 2016 5:28 am
languages_spoken: Czech | English
ODROIDs: C2 and U2
-->both without eMMC (overpriced)<--
Location: Praha | Czech republic
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by Pepes » Thu Sep 01, 2016 8:36 am

You can't compare RPi3 with C2.
Because: Rpi3 doesnt have GbE, it has USB bus shared with Ethernet. Also RPi3 has built-in WiFi but only 2.4 GHz, it has 1 GB RAM
I have also Pine A64 I can say that everything what they have done is because of their community (lennyraposo and longsleep), but on Android they have GbE issue on Linux, too (iperf works, but other things dont)
Last edited by Pepes on Thu Sep 01, 2016 8:39 am, edited 1 time in total.

brad
Posts: 1117
Joined: Tue Mar 29, 2016 1:22 pm
languages_spoken: english
ODROIDs: C2 N1 N2 H2 (64 bit ftw)
Location: Australia
Has thanked: 46 times
Been thanked: 93 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by brad » Thu Sep 01, 2016 8:38 am

Compiling and about to run some tests ill report back shortly on 1656MHz & 1680MHz

Ill look at powering via barrel socket and try to measure supply voltage during the testing

brad
Posts: 1117
Joined: Tue Mar 29, 2016 1:22 pm
languages_spoken: english
ODROIDs: C2 N1 N2 H2 (64 bit ftw)
Location: Australia
Has thanked: 46 times
Been thanked: 93 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by brad » Thu Sep 01, 2016 12:53 pm

joy wrote:
mlinuxguy wrote:The 2 patches in your zipfile are the same
# diff 1656MHz_dvfs_uboot.diff 1680MHz_dvfs_uboot.diff
#
There is no 1680Mhz patch as that patch file is the same as 1656*
Could you download the zip file again?
There was a mistake.
Not sure what is happening both patches are still the same when I download them. Anyway I manually added the 1680 into uboot

So far an hour stress test on each setting using stress -c 4 command and monitoring temps, no issues. Will extend the 1680 test duration tonight.

1656MHz - loaded input supply measured at 4.92-4.93v

Temp evened out at 63-64C

Here is a sysbench afterwards

Code: Select all

$ sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 4

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 20000


Test execution summary:
    total time:                          5.5884s
    total number of events:              10000
    total time taken by event execution: 22.3179
    per-request statistics:
         min:                                  2.21ms
         avg:                                  2.23ms
         max:                                 12.23ms
         approx.  95 percentile:               2.28ms

Threads fairness:
    events (avg/stddev):           2500.0000/21.71
    execution time (avg/stddev):   5.5795/0.01
1680Mhz - loaded input supply measured at 4.92-4.93v

Temp evened out at 64-65C

and the sysbench

Code: Select all

odroid@odroid64:~$ sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 4

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 20000


Test execution summary:
    total time:                          5.4896s
    total number of events:              10000
    total time taken by event execution: 21.9277
    per-request statistics:
         min:                                  2.18ms
         avg:                                  2.19ms
         max:                                 10.52ms
         approx.  95 percentile:               2.24ms

Threads fairness:
    events (avg/stddev):           2500.0000/25.95
    execution time (avg/stddev):   5.4819/0.01

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Thu Sep 01, 2016 1:15 pm

brad wrote:Not sure what is happening both patches are still the same when I download them. Anyway I manually added the 1680 into uboot
I noticed the same even after re-downloading them and manually added in 1.68ghz also. Not worth arguing over since the fix is obvious.

I sure hope the next bl30.bin has more than just 1.75ghz in it
I would like another step up at least. Something like 1.8ghz and 2ghz. Or the ability to override the max from boot.ini.....

User avatar
odroid
Site Admin
Posts: 34586
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean, Japanese
ODROIDs: ODROID
Has thanked: 812 times
Been thanked: 704 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by odroid » Thu Sep 01, 2016 1:36 pm

We are pushing Amlogic to release a new bl30.bin to try 1.75Ghz and higher clock.
Once we have any news, we will post it here.

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Thu Sep 01, 2016 1:44 pm

I finally figured out what I was doing wrong on the 4.8rc2 kernel build for the C2 and got it to boot (stupid USB power dongle)
Anyway, since it seems to be a while before Amlogic provides the bl30.bin I'm debating the worth of fixing up that 4.8rc2 kernel to run at 1.68ghz.
I'm very interested in the effect the ARM64 L2 cache patch series in this later kernel would have on those benchmarks I ran a few posts up from here....
They have their own *.dts file for that kernel, I could probably fix it up easy enough for the new clockspeeds.

User avatar
memeka
Posts: 4420
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 2 times
Been thanked: 58 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by memeka » Thu Sep 01, 2016 2:28 pm

did you do any benchmarks for 1.5Ghz?

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Thu Sep 01, 2016 2:47 pm

No.
Last edited by mlinuxguy on Fri Sep 02, 2016 1:07 am, edited 1 time in total.

brad
Posts: 1117
Joined: Tue Mar 29, 2016 1:22 pm
languages_spoken: english
ODROIDs: C2 N1 N2 H2 (64 bit ftw)
Location: Australia
Has thanked: 46 times
Been thanked: 93 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by brad » Thu Sep 01, 2016 3:15 pm

when I run cpuburn-a53 I hit the thermal limit of 90C and it throttles back and ends up switching between 1.29Hz & 1.53MHz. Source voltage drops down to 4.84v under load, seems stable though.

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Thu Sep 01, 2016 3:29 pm

brad wrote:when I run cpuburn-a53 I hit the thermal limit of 90C and it throttles back and ends up switching between 1.29Hz & 1.53MHz. Source voltage drops down to 4.84v under load, seems stable though.
I'm not surprised. I'm running with a cut-down XU4 heatsink and I removed the TIM's to use arctic silver.
I assume you are on stock heatsink and must have hit the newly patched in thermal transition points, mine never got close even with 1080p HDMI active I only hit 71C max

Code: Select all

-                   temperature = <90000>;
+                   temperature = <85000>;
                    hysteresis = <1000>;
                    type = "passive";
                };
                control: trip-point@1 {
-                   temperature = <100000>;
+                   temperature = <90000>;
                    hysteresis = <1000>;
                    type = "passive";
                };
                hot: trip-point@2 {
-                   temperature = <110000>;
+                   temperature = <100000>;
                    hysteresis = <1000>;
                    type = "passive";
                };
                critical: trip-point@3 {
-                   temperature = <115000>;
+                   temperature = <105000>;
                    hysteresis = <1000>;
                    type = "critical";

User avatar
memeka
Posts: 4420
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 2 times
Been thanked: 58 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by memeka » Thu Sep 01, 2016 3:47 pm

I meant - did you run a becnhmark on 4.8 kernel @ 1.5 Ghz and compare it with the old kernel @ 1.5 Ghz?
To test if L2 changed anything?
You don't need higher clocks to do that, can test @ 1.5 Ghz too.
mlinuxguy wrote:No. Why would I do that? Nothing has changed from previous benchmarks at the "fake" 2ghz
The 2ghz label is bogus, we've always been running at 1.5ghz

There are misconceptions about what has changed
(1) The odroid c2 has always run at 1.5ghz for its max clockspeed
(2) It previously reported what was 1.5ghz as 2ghz
(3) It now will report the true clockspeed of 1.5ghz (and continues to run at that clockspeed like it always has)

Therefore:
(1) We have NOT lost anything except marketing it as 2ghz (i.e. a label)
(2) The current max speed remains as it always has been of 1.5ghz
(3) We are working to set new higher frequency tables into the bl30.bin binary blob
(4) Once we determine the stable higher frequencies your C2 will be faster than it was when you bought it

Nothing has changed. No need to re-run benchmarks at 1.5ghz, cause you will get the same numbers it always got
Linux being told its 2ghz is not the same as what is being done in the hidden binary bl30.bin blob to setup the clocks.
Linux will report that 2ghz as its speed, but its not in control of the clocks, the hidden M3 controller is.
All linux can do is shift through the frequencies its told it has, we assumed the binary bl30.bin blob set them up correctly for 2ghz..... it did not.

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Thu Sep 01, 2016 4:52 pm

memeka wrote:I meant - did you run a becnhmark on 4.8 kernel @ 1.5 Ghz and compare it with the old kernel @ 1.5 Ghz?
To test if L2 changed anything? You don't need higher clocks to do that, can test @ 1.5 Ghz too.
Oopppsss! misunderstood that :mrgreen:

Nope, apparently I need to setup a network rootfs first
If you've got it setup the benchmark is:
# apt-get install phoronix-test-suite
# phoronix-test-suite install 1603255-GA-PINE64PIN04
# phoronix-test-suite benchmark 1603255-GA-PINE64PIN04
(make sure you label it when it prompts you, something that self-describes what you are testing)

I won't get around to setting up a network rootfs so I can run it for a day or so
I got it to boot but ran into the: "can't mount rootfs" issue
Last edited by mlinuxguy on Thu Sep 01, 2016 4:56 pm, edited 1 time in total.

User avatar
memeka
Posts: 4420
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 2 times
Been thanked: 58 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by memeka » Thu Sep 01, 2016 4:55 pm

There are some patches to enable mmc and boot from sd

brad
Posts: 1117
Joined: Tue Mar 29, 2016 1:22 pm
languages_spoken: english
ODROIDs: C2 N1 N2 H2 (64 bit ftw)
Location: Australia
Has thanked: 46 times
Been thanked: 93 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by brad » Thu Sep 01, 2016 8:11 pm

memeka wrote:I meant - did you run a becnhmark on 4.8 kernel @ 1.5 Ghz and compare it with the old kernel @ 1.5 Ghz?
To test if L2 changed anything?
You don't need higher clocks to do that, can test @ 1.5 Ghz too.
Im going to do a few tests on 4.7 kernel now and are compiling up a 4.8 kernel also, will make some tests.

Im using a mainline version of u-boot with the new bl30 and u-boot has the feature to turn off the l2 cache, will try this out too

endecotp
Posts: 231
Joined: Sun May 08, 2016 12:30 am
languages_spoken: english
ODROIDs: c2
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by endecotp » Fri Sep 02, 2016 12:10 am

mlinuxguy wrote: There are misconceptions about what has changed
You can stop saying that. No-one believes that their device has suddenly got slower than it used to be.
We all understand what has happened.
We all know that it's just a case of "false advertising".

brad
Posts: 1117
Joined: Tue Mar 29, 2016 1:22 pm
languages_spoken: english
ODROIDs: C2 N1 N2 H2 (64 bit ftw)
Location: Australia
Has thanked: 46 times
Been thanked: 93 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by brad » Fri Sep 02, 2016 7:25 am

mlinuxguy wrote:Nope, apparently I need to setup a network rootfs first
4.8 kernel supports the mmc and sd drivers but im not able to get it working with standard u-boot, a specific version of the mainline u-boot for works for me booting tftp (is also a patch for mainline mms/sd u-boot support). In saying this I am unable to get the cpufreq or temp sensors working in 4.8 kernel and it appears to default to 1.5 freq rather than the upped limits in the modified BL30.bin , if anyone has any luck please let me know.


Im running on NFS root file-system but mmc/sd support is there, here is some info.....

Code: Select all

odroid@odroid64:~$ uname -a
Linux odroid64 4.8.0-rc3-next-20160825 #1 SMP PREEMPT Thu Sep 1 09:51:34 EDT 2016 aarch64 aarch64 aarch64 GNU/Linux
odroid@odroid64:~$ parted -l
Model: SD  (sd/mmc)
Disk /dev/mmcblk0: 16.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  135MB   134MB   primary  ext4         lba
 2      135MB   5892MB  5757MB  primary  ext2


odroid@odroid64:~$ sensors
No sensors found!
Make sure you loaded all the kernel drivers you need.
Try sensors-detect to find out which these are.
odroid@odroid64:~$ cpufreq-info 
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 4294.55 ms.
analyzing CPU 1:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 4294.55 ms.
analyzing CPU 2:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 4294.55 ms.
analyzing CPU 3:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 4294.55 ms.
I also have some trouble with phoronix-test-suite install 1603255-GA-PINE64PIN04 its fails on the MD5 check after downloading openssl. Ill try a newer version. I suspect I can make some benchmarks at 1.5GHz disable the cache in u-boot then repeat the tests.

User avatar
memeka
Posts: 4420
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 2 times
Been thanked: 58 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by memeka » Fri Sep 02, 2016 7:43 am

uboot has its own dtb, maybe you need to add mmc info in uboots dtb

brad
Posts: 1117
Joined: Tue Mar 29, 2016 1:22 pm
languages_spoken: english
ODROIDs: C2 N1 N2 H2 (64 bit ftw)
Location: Australia
Has thanked: 46 times
Been thanked: 93 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by brad » Fri Sep 02, 2016 7:48 am

memeka wrote:uboot has its own dtb, maybe you need to add mmc info in uboots dtb
The new version of u-boot works well for me and has more features, I dont really have the need to get the hardkernel version working but will look into it again at some stage. Most of the work for the new dtb in mainloine u-boot has been pulled from kernel source rather than amlogic uboot.

DarkBahamut
Posts: 332
Joined: Tue Jan 19, 2016 10:19 am
languages_spoken: english
ODROIDs: XU4, N1
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by DarkBahamut » Fri Sep 02, 2016 7:53 am

One thing that strikes me as quite interesting is just how fast the C2 is in those sysbench results, even at 1.65GHz? AArch64 and all, but still, the speed surprises me unless I'm missing something obvious (which is highly likely!)?

joy
Posts: 1279
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 128 times
Been thanked: 154 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by joy » Fri Sep 02, 2016 12:37 pm

We got the new bl30.bin from AMLogic and put some test with it.
Please refer to the current status and test patches here.
There are some new cpu frequency sets.

1. Updated CPU Frequency Sets
We have new cpu frequency sets, 1.752 / 1.896 / 1.920 / 1.944 / 2.016GHz with new bl30.bin.
Here is a brief status and we're still checking them.

- 2.016 GHz : extremely unstable
- 1.944 GHz : booting with a single core / unstable for cpuburn test
- 1.920 GHz : booting with 1 or 2 cores / recommend running with a single core
- 1.896 GHz : booting with 1~3 cores / recommend running with a single core
- 1.752 GHz : booting with full 4 cores / for heavy load test like cpuburn, recommend 2 cores


2. Benchmark result

(1) Benchmark with Quad Cores

Code: Select all

boot.ini : max_freq <freq> / maxcpus "4"

root@odroid64:~# cat /sys/devices/system/cpu/online 
0-3
# cd /sys/devices/system/cpu/cpu0/cpufreq
# echo performance > scaling_governor
# sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run
Image

(2) Benchmark with Single Core

Code: Select all

boot.ini : max_freq <freq> / maxcpus "1"

root@odroid64:~# cat /sys/devices/system/cpu/online 
0
# cd /sys/devices/system/cpu/cpu0/cpufreq
# echo performance > scaling_governor
# sysbench --test=cpu --cpu-max-prime=20000 run
Image

3. How to set max cpu frequency and cpu-cores using boot.ini

(1) Set max cpu frequency using boot.ini
You can set one of frequency sets as max. cpu frequency using boot.ini.
Please refer to the following and kernel patches described in the next section, 4.

Code: Select all

### boot.ini

# max cpu frequency in dvfs table / in MHz unit
# setenv max_freq "2016"  # 2.016GHz
# setenv max_freq "1944"  # 1.944GHz
# setenv max_freq "1944"  # 1.944GHz
# setenv max_freq "1920"  # 1.920GHz
# setenv max_freq "1896"  # 1.896GHz
# setenv max_freq "1752"  # 1.752GHz
# setenv max_freq "1680"  # 1.680GHz
setenv max_freq "1656"  # 1.656GHz

# Boot Arguments
# add max_freq in bootargs
setenv bootargs "root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro ${condev} no_console_suspend max_freq=${max_freq} maxcpus=${maxcpus} hdmimode=${m} m_bpp=${m_bpp} vout=${vout} fsck.repair=yes net.ifnames=0 elevator=noop disablehpd=${hpd}"
After setting it, then be sure you do reboot.
You can check the frequency list as following.

Code: Select all

root@odroid64:~# cat /sys/devices/system/cpu/cpufreq/all_time_in_state 
freq            cpu0            cpu1            cpu2            cpu3
100000          1010
250000          3763
500000          200
1000000         390
1296000         200
1536000         10
1656000         52002
(2) Set the number of cpu-cores activated using boot.ini
Also, you can set cpu-cores you want to activate using boot.ini
The available range is "1" to "4"

Code: Select all

### boot.ini

# max cpu-cores
# setenv maxcpus "1"
# setenv maxcpus "2"
# setenv maxcpus "3"
setenv maxcpus "4"

# Boot Arguments
# add maxcpus in bootargs
setenv bootargs "root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro ${condev} no_console_suspend max_freq=${max_freq} maxcpus=${maxcpus} hdmimode=${m} m_bpp=${m_bpp} vout=${vout} fsck.repair=yes net.ifnames=0 elevator=noop disablehpd=${hpd}"
After setting it, then be sure you do reboot.
You can check the activated cpu-cores as following.
ex) setenv maxcpus "2"

Code: Select all

root@odroid64:~# cat /sys/devices/system/cpu/online 
0-1
root@odroid64:~# cat /sys/devices/system/cpu/offline                                                                             
2-3
4. Kernel and U-Boot Patches
There are two kernel patches and two uboot patches.
Please find the attachment, c2_freq_patch_0902.zip and you can refer to the following.

(1) u-boot
a. bl30.bin
- Check the attachment.
- Copy it to the uboot path, uboot/fip/gxb
b. dvfs table
- Check uboot_update_dvfs_table.diff

Code: Select all

From a3ea880ad11bfbe79a940fe40a1f47132aee4167 Mon Sep 17 00:00:00 2001
From: Joy Cho <joy.cho@hardkernel.com>
Date: Fri, 26 Aug 2016 11:16:16 +0900
Subject: [PATCH] ODROID-C2: Update dvfs table

- New frequency sets
  : 1656MHz / 1680MHz / 1752MHz / 1896MHz
  / 1920MHz / 1944MHz / 2016MHz

Change-Id: I006403c72a0c53032f90149f4e5ee3b0aa646b5d
---

diff --git a/board/hardkernel/odroidc2/firmware/scp_task/dvfs_board.c b/board/hardkernel/odroidc2/firmware/scp_task/dvfs_board.c
index ed5528f..9fe3ac7 100644
--- a/board/hardkernel/odroidc2/firmware/scp_task/dvfs_board.c
+++ b/board/hardkernel/odroidc2/firmware/scp_task/dvfs_board.c
@@ -38,7 +38,12 @@
 	DVFS(1000000000,  990),
 	DVFS(1296000000, 1100),
 	DVFS(1536000000, 1100),
+	DVFS(1656000000, 1100),
+	DVFS(1680000000, 1100),
 	DVFS(1752000000, 1100),
+	DVFS(1896000000, 1100),
+	DVFS(1920000000, 1100),
+	DVFS(1944000000, 1100),
 	DVFS(2016000000, 1100),
 };
(2) kernel
a. dts - update thermal throttling table
- Check kernel_dts_update_thermal.diff or the following.

b. set max cpu frequency of dvfs sets
- Check kernel_set_max_freq_patch.diff or the following.

Code: Select all

From 98c8b5cd959d39735121fe4e5cc85807349cfe6e Mon Sep 17 00:00:00 2001
From: Joy Cho <joy.cho@hardkernel.com>
Date: Fri, 26 Aug 2016 10:36:54 +0900
Subject: [PATCH] ODROID-C2: Adjust thermal throttling table based on new cpu frequency sets

Change-Id: If2e03c402a384e2bc137319842b732e42600b7fa
---

diff --git a/arch/arm64/boot/dts/meson64_odroidc2.dts b/arch/arm64/boot/dts/meson64_odroidc2.dts
index 3534b4f..faa5aa3 100644
--- a/arch/arm64/boot/dts/meson64_odroidc2.dts
+++ b/arch/arm64/boot/dts/meson64_odroidc2.dts
@@ -670,22 +670,22 @@
 
 			trips {
 				warm: trip-point@0 {
-					temperature = <90000>;
+					temperature = <85000>;
 					hysteresis = <1000>;
 					type = "passive";
 				};
 				control: trip-point@1 {
-					temperature = <100000>;
+					temperature = <90000>;
 					hysteresis = <1000>;
 					type = "passive";
 				};
 				hot: trip-point@2 {
-					temperature = <110000>;
+					temperature = <100000>;
 					hysteresis = <1000>;
 					type = "passive";
 				};
 				critical: trip-point@3 {
-					temperature = <115000>;
+					temperature = <105000>;
 					hysteresis = <1000>;
 					type = "critical";
 				};
@@ -698,13 +698,13 @@
 				};
 				cpufreq_cooling_map1 {
 					trip = <&hot>;
-					cooling-device = <&cpus 3 5>;
+					cooling-device = <&cpus 3 4>;
 					contribution = <100>;
 				};
 
 				cpucore_cooling_map {
 					trip = <&control>;
-					cooling-device = <&cpucore 0 3>;
+					cooling-device = <&cpucore 0 2>;
 					contribution = <1024>;
 				};
 				gpufreq_cooling_map0 {

Code: Select all

From db489d0060de15acc2304bd731716099ad4df44f Mon Sep 17 00:00:00 2001
From: Joy Cho <joy.cho@hardkernel.com>
Date: Wed, 31 Aug 2016 16:27:48 +0900
Subject: [PATCH] ODROID-C2: Add setup routine to set max. cpu frequency of dvfs table

- set "max_freq" in boot.ini
- in MHz unit
ex)
setenv max_freq "1752"

Change-Id: I352c9540d0c34d3ec0ba0f470dae9d4e0786c001
---

diff --git a/drivers/amlogic/mailbox/scpi_protocol.c b/drivers/amlogic/mailbox/scpi_protocol.c
index ec787d2..6c8aa0c 100644
--- a/drivers/amlogic/mailbox/scpi_protocol.c
+++ b/drivers/amlogic/mailbox/scpi_protocol.c
@@ -129,6 +129,10 @@
 	SCPI_CMD_SENSOR_CFG_BOUNDS,
 };
 
+#if defined(CONFIG_ARCH_MESON64_ODROIDC2)
+static unsigned long max_freq_dvfs;
+#endif
+
 static struct scpi_opp *scpi_opps[MAX_DVFS_DOMAINS];
 
 static int scpi_linux_errmap[SCPI_ERR_MAX] = {
@@ -267,6 +271,9 @@
 	struct scpi_opp *opps;
 	size_t opps_sz;
 	int count, ret;
+#if defined(CONFIG_ARCH_MESON64_ODROIDC2)
+	int i, max_index;
+#endif
 
 	if (domain >= MAX_DVFS_DOMAINS)
 		return ERR_PTR(-EINVAL);
@@ -285,6 +292,20 @@
 		return ERR_PTR(-ENOMEM);
 
 	count = DVFS_OPP_COUNT(buf.header);
+
+#if defined(CONFIG_ARCH_MESON64_ODROIDC2)
+	max_index = 0;
+	for (i = 0; i < count; i++)	{
+		if (buf.opp[i].freq_hz == max_freq_dvfs)
+			break;
+		else
+			max_index++;
+	}
+	count = max_index + 1;
+	pr_info("dvfs [%s] - new count %d, dvfs_cnt %d\n", __func__,
+		count, max_index);
+#endif
+
 	opps_sz = count * sizeof(*(opps->opp));
 
 	opps->count = count;
@@ -416,3 +437,33 @@
 	return ret;
 }
 EXPORT_SYMBOL_GPL(scpi_get_sensor_value);
+
+#if defined(CONFIG_ARCH_MESON64_ODROIDC2)
+static int __init get_max_freq(char *str)
+{
+	int ret;
+
+	if (NULL == str) {
+		/* FIXME : consider default set */
+		max_freq_dvfs = 1536000000;
+		return -EINVAL;
+	}
+
+	ret = kstrtoul(str, 0, &max_freq_dvfs);
+
+	/*
+	 * FIXME : consider the minimum limitation.
+	 * For test, there is no limit.
+	if (max_freq_dvfs < 1656)
+		max_freq_dvfs = 1656;
+	*/
+
+	/* in unit Hz */
+	max_freq_dvfs *= 1000000;
+
+	pr_info("dvfs [%s] - max_freq : %ld\n", __func__, max_freq_dvfs);
+
+	return 0;
+}
+__setup("max_freq=", get_max_freq);
+#endif
Attachments
c2_freq_patch_0902.zip
(23.23 KiB) Downloaded 175 times

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Fri Sep 02, 2016 1:41 pm

Patched and booted without doing any u-boot frequency settings yet
Having some problems setting the governor to performance
root@odroid64-1:/sys/devices/system/cpu/cpu0/cpufreq# echo performance > scaling_governor
-bash: echo: write error: Invalid argument

root@odroid64-1:/sys/devices/system/cpu/cpu0/cpufreq# cat scaling_cur_freq
100000

# cat /sys/devices/system/cpu/online
0-3

# cat /sys/devices/system/cpu/cpufreq/all_time_in_state

Code: Select all

freq            cpu0            cpu1            cpu2            cpu3
0               0               0               0               0
100000          22007           22007           22007           22007
250000          0               0               0               0
500000          0               0               0               0
1000000         0               0               0               0
1296000         0               0               0               0
1536000         0               0               0               0
1656000         0               0               0               0
1680000         0               0               0               0
1752000         0               0               0               0
1896000         0               0               0               0
1920000         0               0               0               0
1944000         0               0               0               0
2016000         0               0               0               0

joy
Posts: 1279
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 128 times
Been thanked: 154 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by joy » Fri Sep 02, 2016 1:47 pm

mlinuxguy wrote:Patched and booted without doing any u-boot frequency settings yet
Having some problems setting the governor to performance
root@odroid64-1:/sys/devices/system/cpu/cpu0/cpufreq# echo performance > scaling_governor
-bash: echo: write error: Invalid argument

root@odroid64-1:/sys/devices/system/cpu/cpu0/cpufreq# cat scaling_cur_freq
100000
Could you try it after adding "max_freq" as described in the setting guide?

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Fri Sep 02, 2016 2:00 pm

Going to work my way down in frequencies
2ghz all 4 cores... fails to boot

Code: Select all

2ghz last console log:
[    2.348835] hub 1-0:1.0: USB hub found
[   40.891880] random: nonblocking pool is initialized

2nd try at 2ghz
[    2.305258] swapper/1[0]: undefined instruction: pc=ffffffc001110354
[    2.305261] Code: 885f7c40 11000400 88017c40 35ffffa1 (d5033bbf)
[    2.305267] Internal error: Oops - undefined instruction: 0 [#1] PREEMPT SMP
[    2.305271] Modules linked in:
[    2.305278] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.14.77+ #3
[    2.305281] task: ffffffc05d51e000 ti: ffffffc05d528000 task.ti: ffffffc05d528000
[    2.305297] PC is at rcu_eqs_enter_common.isra.41+0x84/0x128
[    2.305299] LR is at rcu_eqs_enter_common.isra.41+0x6c/0x128
[    2.305301] pc : [<ffffffc001110354>] lr : [<ffffffc00111033c>] pstate: 600001c5 
2ghz 1-cpu
[    3.395122] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[    3.403056] pgd = ffffffc002178000
[    3.406429] ge2d: ge2d workqueue monitor start
[    3.410828] [00000000] *pgd=000000005d403003, *pmd=000000005d406003, *pte=00600000c4301707
[    3.421315] Internal error: Oops: 96000005 [#1] PREEMPT SMP

1.94ghz 4-cpu
[    4.099237] Unable to handle kernel paging request at virtual address 3ffffff0172a7fd
[    4.100185] Unhandled fault: alignment fault (0x92000061) at 0x0000000000000001
[    4.111865] pgd = ffffffc05a558000
[    4.114940] [3ffffff0172a7fd] *pgd=0000000000000000
[    4.122372] Internal error: Oops: 96000004 [#1] PREEMPT SMP

1.94ghz 1-cpu
 Works, logged in and testing
Last edited by mlinuxguy on Fri Sep 02, 2016 2:23 pm, edited 2 times in total.

joy
Posts: 1279
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 128 times
Been thanked: 154 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by joy » Fri Sep 02, 2016 2:12 pm

mlinuxguy wrote:Hang on I needed to scroll up even further, my syntax was wrong for frequency
From serial console

Code: Select all

cfgload: setenv maxcpus "4"
cfgload: setenv max_freq 1920000
cfgload: setenv bootargs "root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro ${condev} no_console_suspend max_freq=${max_freq} maxcpus=${maxcpus} hdmimode=${m} m_bpp=${m_bpp} vout=${vout} fsck.repair=yes net.ifnames=0 elevator=noop disablehpd=${hpd}" 
Please use max_freq in MHz unit.
1920000 -> 1920

Code: Select all

### boot.ini

# max cpu frequency in dvfs table / in MHz unit
# setenv max_freq "2016"  # 2.016GHz
# setenv max_freq "1944"  # 1.944GHz
# setenv max_freq "1944"  # 1.944GHz
# setenv max_freq "1920"  # 1.920GHz
# setenv max_freq "1896"  # 1.896GHz
# setenv max_freq "1752"  # 1.752GHz
# setenv max_freq "1680"  # 1.680GHz
setenv max_freq "1656"  # 1.656GHz

setenv maxcpus "4"

# Boot Arguments
# add max_freq in bootargs
setenv bootargs "root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro ${condev} no_console_suspend max_freq=${max_freq} maxcpus=${maxcpus} hdmimode=${m} m_bpp=${m_bpp} vout=${vout} fsck.repair=yes net.ifnames=0 elevator=noop disablehpd=${hpd}"
And I can reproduce the governor setting error by my side as you mentioned.
I will adjust the routine and then share it here.
Regardless of it, you can keep going your test with setting max_freq and maxcpus in boot.ini.

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Fri Sep 02, 2016 2:30 pm

Exactly like your tests I'm up on 1 core at 1.944ghz
I'll watch the temps under cpuburn to see what they do with my big heat-sink

The type of errors with more cores and higher frequencies were all memory related
Not sure what that suggests yet, besides possibly memory cannot keep up. Its not overheating
Later I will try the higher frequencies with slightly higher voltages than 5.21 unloaded, other than that maybe memory clocks could be looked at...

cpuburn is over 500seconds into the test
With a single CPU temperatures are quite a bit lower at 500sec than previous tests at 1.68ghz 500sec in (65C), its sitting around 41C

Code: Select all

740,41,1944000
745,41,1944000
750,41,1944000
I wonder how long into your test it became unstable for the cpuburn test? (I assume you are on the stock heat-sink)

2000 seconds of cpuburn completed with no issues

Code: Select all

2000,42,1944000
2005,41,1944000
2010,42,1944000
However I tried to run this benchmark # 7zr b
and we crashed within 20 seconds with the following

Code: Select all

[ 1787.784317] pgd = ffffffc055bf8000
[ 1787.787678] [11557385e60] *pgd=0000000000000000
[ 1787.792165] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[ 1787.797684] Modules linked in: fuse gxbb_wdt ipv6 autofs4
[ 1787.803033] CPU: 0 PID: 4149 Comm: 7zr Not tainted 3.14.77+ #3
[ 1787.808810] task: ffffffc05b9c8c80 ti: ffffffc055120000 task.ti: ffffffc055120000
[ 1787.816234] PC is at get_pfnblock_flags_mask+0x34/0x80
[ 1787.821317] LR is at __rmqueue+0x10c/0x7c8
[ 1787.825369] pc : [<ffffffc001182604>] lr : [<ffffffc001182d54>] pstate: 800001c5
[ 1787.832700] sp : ffffffc0551238d0
[ 1787.835977] x29: ffffffc0551238d0 x28: 0000000000000000
1.92ghz, it will only boot without panic'ing with 2 cores
Ran some benchmarks including the above: 7zr b

joy
Posts: 1279
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 128 times
Been thanked: 154 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by joy » Fri Sep 02, 2016 3:18 pm

mlinuxguy wrote:Patched and booted without doing any u-boot frequency settings yet
Having some problems setting the governor to performance
root@odroid64-1:/sys/devices/system/cpu/cpu0/cpufreq# echo performance > scaling_governor
-bash: echo: write error: Invalid argument

root@odroid64-1:/sys/devices/system/cpu/cpu0/cpufreq# cat scaling_cur_freq
100000

# cat /sys/devices/system/cpu/online
0-3

# cat /sys/devices/system/cpu/cpufreq/all_time_in_state
That case can be come when there is "no max_freq" or "wrong max_freq" in boot.ini for existing dvfs table.
Here is the updated patch for the case.
The default max frequency set is "1.526GHz" for current test.

- kernel_sest_max_freq_patch_2.diff

Code: Select all

From 787767636d42071180c2c199f10e29dacd09aa7b Mon Sep 17 00:00:00 2001
From: Joy Cho <joy.cho@hardkernel.com>
Date: Wed, 31 Aug 2016 16:27:48 +0900
Subject: [PATCH] ODROID-C2: Add setup routine to set max. cpu frequency of dvfs table

- set "max_freq" in boot.ini
- in MHz unit
ex)
setenv max_freq "1752"

Change-Id: I352c9540d0c34d3ec0ba0f470dae9d4e0786c001
---

diff --git a/drivers/amlogic/mailbox/scpi_protocol.c b/drivers/amlogic/mailbox/scpi_protocol.c
index ec787d2..01d870e 100644
--- a/drivers/amlogic/mailbox/scpi_protocol.c
+++ b/drivers/amlogic/mailbox/scpi_protocol.c
@@ -129,6 +129,12 @@
 	SCPI_CMD_SENSOR_CFG_BOUNDS,
 };
 
+#if defined(CONFIG_ARCH_MESON64_ODROIDC2)
+#define DVFS_COUNT_MAX		13
+#define DVFS_COUNT_1536		6
+static unsigned long max_freq_dvfs;
+#endif
+
 static struct scpi_opp *scpi_opps[MAX_DVFS_DOMAINS];
 
 static int scpi_linux_errmap[SCPI_ERR_MAX] = {
@@ -267,6 +273,9 @@
 	struct scpi_opp *opps;
 	size_t opps_sz;
 	int count, ret;
+#if defined(CONFIG_ARCH_MESON64_ODROIDC2)
+	int i, max_index;
+#endif
 
 	if (domain >= MAX_DVFS_DOMAINS)
 		return ERR_PTR(-EINVAL);
@@ -285,6 +294,27 @@
 		return ERR_PTR(-ENOMEM);
 
 	count = DVFS_OPP_COUNT(buf.header);
+
+#if defined(CONFIG_ARCH_MESON64_ODROIDC2)
+	max_index = 0;
+	if (max_freq_dvfs) {
+		for (i = 0; i < count; i++)	{
+			if (buf.opp[i].freq_hz == max_freq_dvfs)
+				break;
+			else
+				max_index++;
+		}
+		count = max_index + 1;
+	}
+	/* if no param "max_freq_dvfs or wrong "max_freq_dvfs"
+	 * from boot.ini, consider stable max value */
+	if ((max_freq_dvfs == 0) || (count > DVFS_COUNT_MAX))
+		count = DVFS_COUNT_1536; /* default max : 1.536GHz */
+
+	pr_info("dvfs [%s] - new count %d, max_freq %ld\n", __func__,
+		count, max_freq_dvfs);
+#endif
+
 	opps_sz = count * sizeof(*(opps->opp));
 
 	opps->count = count;
@@ -416,3 +446,33 @@
 	return ret;
 }
 EXPORT_SYMBOL_GPL(scpi_get_sensor_value);
+
+#if defined(CONFIG_ARCH_MESON64_ODROIDC2)
+static int __init get_max_freq(char *str)
+{
+	int ret;
+
+	if (NULL == str) {
+		/* FIXME : consider default set */
+		max_freq_dvfs = 1536000000;
+		return -EINVAL;
+	}
+
+	ret = kstrtoul(str, 0, &max_freq_dvfs);
+
+	/*
+	 * FIXME : consider the minimum limitation.
+	 * For test, there is no limit.
+	if (max_freq_dvfs < 1656)
+		max_freq_dvfs = 1656;
+	*/
+
+	/* in unit Hz */
+	max_freq_dvfs *= 1000000;
+
+	pr_info("dvfs [%s] - max_freq : %ld\n", __func__, max_freq_dvfs);
+
+	return 0;
+}
+__setup("max_freq=", get_max_freq);
+#endif

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Fri Sep 02, 2016 3:26 pm

Thanks for the fix

1.89ghz Cannot get all 4-cores up stably

Code: Select all

[    4.294100] random: nonblocking pool is initialized
[    4.311219] Unable to handle kernel NULL pointer dereference at virtual address 0000003f
[    4.316662] pgd = ffffffc05a557000
[    4.320000] [0000003f] *pgd=0000000000000000
[    4.326882] Internal error: Oops: 96000005 [#1] PREEMPT SMP
[    4.329757] Modules linked in:
[    4.335371] CPU: 2 PID: 110 Comm: systemd-udevd Not tainted 3.14.77+ #3
[    4.339321] task: ffffffc05a53ac80 ti: ffffffc05a570000 task.ti: ffffffc05a570000
[    4.346745] PC is at sock_poll+0xe8/0x110
[    4.350707] LR is at ep_send_events_proc+0xac/0x198
[    4.355534] pc : [<ffffffc001739218>] lr : [<ffffffc001230eec>] pstate: 80000145
[    4.362865] sp : ffffffc05a573ca0
1.75ghz All 4-cores are up

Here is the p7zip benchmark at 1.75ghz

Code: Select all

root@odroid64-1:~# 7zr b

7-Zip (A) 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)

RAM size:    1717 MB,  # CPU hardware threads:   4
RAM usage:    850 MB,  # Benchmark threads:      4

Dict        Compressing          |        Decompressing
      Speed Usage    R/U Rating  |    Speed Usage    R/U Rating
       KB/s     %   MIPS   MIPS  |     KB/s     %   MIPS   MIPS

22:    2495   324    749   2427  |    63982   390   1480   5772
23:    2448   330    755   2495  |    62851   390   1473   5751
24:    2376   337    758   2555  |    61455   390   1463   5701
25:    2357   351    767   2692  |    59882   389   1446   5631
----------------------------------------------------------------
Avr:          336    757   2542               390   1466   5714
Tot:          363   1111   4128
Same benchmark from March 1, 2016 back when it was stuck at 1.5ghz

Code: Select all

root@odroid64:~# 7zr b

    7-Zip (A) 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
    p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,4 CPUs)

    RAM size:    1718 MB,  # CPU hardware threads:   4
    RAM usage:    850 MB,  # Benchmark threads:      4

    Dict        Compressing          |        Decompressing
          Speed Usage    R/U Rating  |    Speed Usage    R/U Rating
           KB/s     %   MIPS   MIPS  |     KB/s     %   MIPS   MIPS

    22:    2246   309    707   2184  |    55021   378   1311   4964
    23:    2179   314    706   2220  |    54046   379   1305   4945
    24:    2135   320    717   2295  |    52030   372   1297   4827
    25:    2111   329    732   2410  |    51884   379   1288   4879
    ----------------------------------------------------------------
    Avr:          318    716   2278               377   1300   4904
    Tot:          347   1008   3591
I will have to look back over the kernel code at the memory controller setup later
I'll see if something to tweak pops out, otherwise 1.75ghz looks stable for me.
I will run some temperature tests to see what it does at 1.75 with all cores active tomorrow

Note: it might be worth trying to underclock the DDR ram, worth testing anyway Ref: https://discourse.osmc.tv/t/solved-kern ... ate/9069/3
The RPI guys overlocking had to drop the DDR frequency 50mhz to get stable, they had same OOPS I was getting in pgd

One more test

Code: Select all

    TEST              1.75ghz     1.68ghz Odroid-c2         1.5ghz locked Odroid-c2
    John the ripper   1003        953                       852             (larger better)
    c-ray             161.534     168.385                   186.93          (smaller better)
    Wav to Flac       N/A yet     143.3                     155.58          (smaller better)
Previous benchmarks are updated here: http://openbenchmarking.org/result/1609 ... 603255GA48
Most are faster, a few not by much. The bigger ones are 16% and 14% (percent difference) over original release performance

tchiwam
Posts: 83
Joined: Wed Dec 30, 2015 4:53 am
languages_spoken: english, French, Finnish, Greenlandic(little)
ODROIDs: 5x XU4, 3x C2, 2 cloudshell, 1 VU7, 1 VU7+, UPS1, UPS2, UPS3, USB/SATA, and many other fine bits from Odroid
Location: Greenland
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by tchiwam » Fri Sep 02, 2016 11:58 pm

Can someone put a scope on the CPU power rails when running the 1.7+ GHz tests ? Heat might not be the issue... Some well placed caps may help here.

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Sat Sep 03, 2016 12:10 am

tchiwam wrote:Can someone put a scope on the CPU power rails when running the 1.7+ GHz tests ? Heat might not be the issue... Some well placed caps may help here.
I agree, the linux kernel panic's at higher frequencies were all memory related. Heat never had time to be an issue as it was still booting on the majority of the crashes.
In the post above I show a URL link to similar crash stacks seen by RPI overclockers, they adjusted DDR speed to fix it.

Well worth checking the C2 power rail
I asked Odroid about my power setup in another post: http://forum.odroid.com/viewtopic.php?f=139&t=23420
However, my overclock crash stacks don't look anything like what I was getting when I under-powered the C2
so right now speculation is around: DDR clocks/voltage or noisy power rail

I tried a 5A bench power supply set to 5.4v (no load) with no luck booting 4-cores at 1.896ghz
measured about 25mv of noise on the 5v expansion header pin

Will have to investigate dropping DDR ram speed next..

brad
Posts: 1117
Joined: Tue Mar 29, 2016 1:22 pm
languages_spoken: english
ODROIDs: C2 N1 N2 H2 (64 bit ftw)
Location: Australia
Has thanked: 46 times
Been thanked: 93 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by brad » Sat Sep 03, 2016 9:14 am

tchiwam wrote:Can someone put a scope on the CPU power rails when running the 1.7+ GHz tests ? Heat might not be the issue... Some well placed caps may help here.
Is is just a matter of graphing pins on the expansion header or would I need to dig deeper?

1.8v rail - pin 38
3.3v rail - pin 1
5v rail - pin 2

I can borrow a decent 4 channel scope if its worth it.

brad
Posts: 1117
Joined: Tue Mar 29, 2016 1:22 pm
languages_spoken: english
ODROIDs: C2 N1 N2 H2 (64 bit ftw)
Location: Australia
Has thanked: 46 times
Been thanked: 93 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by brad » Sat Sep 03, 2016 10:52 am

At 1752Mhz 4cpu's..

- 1.5 hour stress test (stress -c 4) stable
- Temp stabilised at 68C

sysbench after..

Code: Select all

odroid@odroid64:~$ sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 4

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 20000

Test execution summary:
    total time:                          5.2630s
    total number of events:              10000
    total time taken by event execution: 21.0353
    per-request statistics:
         min:                                  2.09ms
         avg:                                  2.10ms
         max:                                 10.02ms
         approx.  95 percentile:               2.14ms

Threads fairness:
    events (avg/stddev):           2500.0000/23.37
    execution time (avg/stddev):   5.2588/0.00
a cpuburn-a53 resulted in mixed results I started it 3 times

1) cpuburn crashed with Illegal instruction
- temps went up to 96C after a few mins whist the thermal scalier kicked in and frequency started dropping
- cpu-burn-a53 exited with an illegal instruction when the temps were high, remaining 3 threads continued across the 4 cpu's
- thermal throttling brought the cpu speed back up to 1752Mhz with the 3 threads running.
- temperature evened out at 84C

2) cpu-burn-a53 ran, thermal scaling reduced to beteen 1.29Hz & 1.53MHz temps running between 97-98C

3) cpu-burn-a53 ran, thermal scaling reduced to beteen 1.29Hz & 1.53MHz temps running between 97-98C

Here is the scaling stats after 2 hours of testing both stress and cpuburn (still have the last cpuburn running)...

Code: Select all

odroid@odroid64:~$ uptime
 21:49:57 up  2:11,  5 users,  load average: 4.02, 4.00, 3.83
odroid@odroid64:~$ cat /sys/devices/system/cpu/cpufreq/all_time_in_state
freq		cpu0		cpu1		cpu2		cpu3		
100000		1750		1750		1750		1750		
250000		3031		3031		3031		3031		
500000		1220		1220		1220		1220		
1000000		220		220		220		220		
1296000		72784		72784		72784		72784		
1536000		46278		46278		46278		46278		
1656000		6834		6834		6834		6834		
1680000		1416		1416		1416		1416		
1752000		655736		655736		655736		655736		
odroid@odroid64:~$ sensors
soc_thermal-virtual-0
Adapter: Virtual device
temp1:        +98.0°C  (crit = +85.0°C)
I plan to do some more testing at this frequency for stability.

Edit: I let it cool down and restarted cpuburn-a53, this time a system freeze with only this comming over the uart port every now and then...

Code: Select all

[ 8903.223250] INFO: rcu_preempt detected stalls on CPUs/tasks: { 1} (detected by 3, t=2102 jiffies, g=8737, c=8736, q=45)
[ 8966.271713] INFO: rcu_preempt detected stalls on CPUs/tasks: { 1} (detected by 3, t=8407 jiffies, g=8737, c=8736, q=51)
[ 9029.320186] INFO: rcu_preempt detected stalls on CPUs/tasks: { 1} (detected by 2, t=14712 jiffies, g=8737, c=8736, q=51)
[ 9092.368667] INFO: rcu_preempt detected stalls on CPUs/tasks: { 1} (detected by 2, t=21017 jiffies, g=8737, c=8736, q=53)
Last edited by brad on Sat Sep 03, 2016 11:11 am, edited 1 time in total.

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Sat Sep 03, 2016 11:10 am

I thought I was onto how to change the DDR ram frequency but now I'm not sure
It might be setting the DDR clock inside the linux kernel and all I adjusted was the u-boot setup DDR clock
I tried most of the values in my comments you see below and really didn't change the boot crash behavior at 1.896ghz or 1.92ghz

Code: Select all

From:  /u-boot-hack/include/configs/odroidc2.h

/* Clock range : 384~1200MHz, should be multiple of 24 */
/* 30=720, 29=696, 28=672, 27=648, 26=624 , 25=600*/
/* 39=936, 40=960, 41=984, 42=1008, 43=1032, 44=1056, 45=1080, 46=1104, 47=1128, 48=1152 */
/*#define CONFIG_DDR_CLK            912 orig */
#define CONFIG_DDR_CLK          1104   /* 37=888, 36=864, 35=840, 34=816, 33=792, 32=768, 31=744 */
I ran a few benchmarks back down at 1.75ghz just to see if anything was faster after setting the CONFIG_DDR_CLK to 1104
Don't really see a difference so perhaps there is a different way to adjust the DDR clock.
It is crashing after bringing up systemd, but with no panic, the blue LED just goes out.

DDR clock at "maybe" 1104

Code: Select all

#  sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 4

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 20000


Test execution summary:
    total time:                          5.2573s
    total number of events:              10000
    total time taken by event execution: 21.0043
    per-request statistics:
         min:                                  2.09ms
         avg:                                  2.10ms
         max:                                  3.14ms
         approx.  95 percentile:               2.14ms

Threads fairness:
    events (avg/stddev):           2500.0000/23.15
    execution time (avg/stddev):   5.2511/0.00

cyrozap
Posts: 2
Joined: Sat Sep 03, 2016 2:14 pm
languages_spoken: english
ODROIDs: C2
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by cyrozap » Sat Sep 03, 2016 5:57 pm

mlinuxguy wrote: I am a bit dismayed that we are still dependent on Amlogic to provide the BL30.bin signed binary...
I've been doing some research on this, and the bl30.bin file, as it has been delivered to us by Hardkernel, is unsigned. In fact, nothing in the u-boot/fip/gxb directory is signed until you run u-boot/fip/gxb/aml_encrypt_gxb --bootsig ..., and the SoC will boot anything signed by that executable, so we're actually free to tinker with a significant portion of the "trusted" boot process. Here's what I've learned about the boot blobs so far:
  • bl1.bin.hardkernel: Based on its name, I assume this is what ARM refers to as the "AP Trusted ROM" BL1, which in theory should reside in ROM on the SoC, but my suspicion (no evidence yet) is that Amlogic has a much smaller on-SoC boot ROM that validates and loads BL1 using a key on the SoC either in mask ROM or in OTP memory. BL1's purpose is to set some exception vectors and load BL2.
  • bl2.package: Based on its name, I assume this is what ARM refers to as the "Trusted Boot Firmware" BL2, which is what loads the S905's Cortex-M3 core (the SCP) with BL30, which is called "SCP_BL2" by ARM's fiptool. Performing an entropy analysis (binwalk -E, ent) on the binary revealed that it probably isn't encrypted, but it may be compressed or obfuscated.
  • bl30.bin: This is BL30/SCP_BL2. This is an armv7m binary (base address 0x10000000, entry point 0x10000168, initial stack pointer 0x10008000) that is run on the Cortex-M3 core. ARM calls it the "System Control Processor" (SCP); Amlogic calls it the "Always On" processor (AO). It runs a real-time operating system based on the Chrom(e/ium) OS Embedded Controller firmware. It handles clock speed changes on the Cortex-A53 cores, DDR controller configuration, eFuses/"user zone", JTAG enable/disable (for both the M3 and the A53), and some of the "trusted firmware" stuff (I think--it touches some of those registers, but I only know their names, not their exact functions). After I learned that the firmware here is based on Chrom(e/ium) OS EC, reverse engineering it went much faster since I was able to match function signatures between the upstream EC source and the binary, making it significantly easier to tell what's part of the RTOS core and what code Amlogic added on top of it. If you want to see for yourself that this binary isn't signed, do a binary diff (using a program like vbindiff) of the c2_1.6MHz_freq_patch/uboot_fip_gxb_bl30.bin and c2_freq_patch_0902/bl30.bin files posted earlier in this thread. There's only an eleven-byte difference between the two, and five of those bytes are part of the build timestamp. The other six bytes are part of the CPU frequency-setting code in the binary (see address 0x000010E4), and the only change there is the increase in the maximum permitted frequency from 1.68 GHz to 2.016 GHz. If the binary itself was signed, I'd expect to see a contiguous block of 16, 20, or 32 random-looking bytes (the signature) change as well. The fact that this code is based on the open source Chrom(e/ium) OS EC, plus the fact that it isn't signed and we can sign our own, means that we could potentially replace this blob with a FOSS rewrite using the facts extracted from reverse-engineering the binary.
  • bl301.bin: We have the source to this, so I didn't look at it very hard. Like BL30, this is an armv7m binary that handles certain real-time tasks on the Cortex-M3 core.
  • bl31.bin: ARM refers to this as the "EL3 Runtime Firmware" BL31. This is an aarch64 binary (base address 0x10100000, entry point likely 0x10100000) that handles things like "power state" (i.e., poweron/poweroff/suspend/resume, though the Cortex-M3 core handles some of that, too). I haven't explored it much since I spent most of my time on BL30.
To summarize, since we have the signing tool (aml_encrypt_gxb), we can replace BL30, BL301, BL31, and BL33 (U-Boot) with whatever we want, and we may be able to replace BL2 if we can figure out how it's encoded and determine whether it's signed or not. My plan is to finish analyzing BL30, then move on to writing a FOSS replacement for aml_encrypt_gxb (for the sake of OUR ESSENTIAL SOFTWARE FREEDOM... and so non-x86-64 users can sign binaries without qemu), then start building up a FOSS BL30 function-by-function. At some point I'll also find a way to release a symbol table for BL30 based on my reverse-engineering effort, so other people can help me. aml_encrypt_gxb is an unstripped binary, so it still has all of its debugging symbols.

If any of you have any questions, I'd be happy to answer them to the best of my ability.

For more information of how ARM trusted firmware works, read this: https://github.com/ARM-software/arm-tru ... -design.md

For those of you who don't deal with this stuff on a regular basis, here's a short glossary of some of the technical terms I used:
  • AP (Application Processor): The CPU (though sometimes AP refers to the SoC as a whole) that runs user applications, like Linux, typically the "main" processor on a single-board computer.
  • EC (Embedded Controller): On x86 laptops, this is a separate microcontroller that controls the PC's indicator lights, keyboard, volume/power buttons, battery charging, LCD hinge sensor, and sometimes fan control and temperature measurement as well.
  • IC (Integrated Circuit): An analog, digital, or mixed-signal circuit that is combined and "integrated" onto a silicon die through a lithographic process.
  • OTP (One-Time Programmable): A special set of registers/memory on a SoC that can only be programmed once and can't be erased (in theory). Depending on how they're implemented, they might not be directly accessible by code running on the chip. Sometimes referred to as "eFuses".
  • ROM (Read-Only Memory): When talking about SoCs or ICs in general, ROM typically refers to either OTP memory that's programmed at the factory or mask ROM, which is etched into the silicon when the IC is being manufactured.
  • RTOS (Real-Time Operating System): An operating system that can guarantee that a task will be run in a certain amount of time. Typically these are used in time-sensitive, safety-critical applications like industrial control systems, low-power wireless sensors, medical devices, and other devices that need to respond to many different types of input at unpredictable times.
  • SoC (System on a Chip): CPU + GPU + other peripherals. On the ODROID-C2, this is the Amlogic S905.
  • armv7m/aarch64: CPU instruction set architectures, like x86, x86-64, etc. aarch64 is what is executed by the Cortex-A53 cores, while armv7m runs on the Cortex-M3 core.

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Sat Sep 03, 2016 9:26 pm

Very sweet analysis!
I've used binwalk before to extract info from embedded device roms, in this case I just made the bad assumption it was encrypted so didn't bother.

What's a bit confusing is the u-boot CPU and DDR frequency setup code
Apparently for the CPU it just sets a maximum freq in u-boot (bl30.bin actually has the tables).
While for the RAM I'm not sure yet, I did the changes for DDR but could see no effect.

To test the theory of at least 1.89 and 1.92ghz needing some DDR tuning I suspect we will need both DDR: (volt / freq table) adjustments in bl30.bin

indium
Posts: 93
Joined: Thu May 28, 2015 2:27 pm
languages_spoken: english, ukrainian
Location: Ukraine
Has thanked: 0
Been thanked: 1 time
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by indium » Sun Sep 04, 2016 12:15 am

To summarize, since we have the signing tool (aml_encrypt_gxb), we can replace BL30, BL301, BL31, and BL33 (U-Boot) with whatever we want, and we may be able to replace BL2 if we can figure out how it's encoded and determine whether it's signed or not.
Of course you won't be able. It can not be not signed. It's definitely signed. Without this, there would not be any of that "secure" [s]mess[/s] thing on arm.
The keys used to establish the CoT are:

Root of trust key

The private part of this key is used to sign the BL2 content certificate and the trusted key certificate. The public part is the ROTPK.
...
The following certificates are used to authenticate the images.

BL2 content certificate

It is self-signed with the private part of the ROT key. It contains a hash of the BL2 image.

endecotp
Posts: 231
Joined: Sun May 08, 2016 12:30 am
languages_spoken: english
ODROIDs: c2
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by endecotp » Sun Sep 04, 2016 4:06 am

Thank you cyrozap, that is very interesting and useful.

Here's a question: since none of us need or want anything encrypted/trusted/obfuscated/etc, can we massively simplify everything by discarding much of the unwanted complexity?

mlinuxguy
Posts: 842
Joined: Thu Feb 28, 2013 10:28 am
languages_spoken: english
ODROIDs: X, X2, XU, XU3, XU4, C1, C1+, C2, N1, USB-IO
Has thanked: 0
Been thanked: 0
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by mlinuxguy » Sun Sep 04, 2016 3:11 pm

Apparently the file I was editing in attempting to change the DDR3 clocks and latency is not used
ref post: http://forum.odroid.com/viewtopic.php?f ... 97#p158332
File I was editing: /u-boot-hack/board/hardkernel/odroidc2/firmware/timing.c

Its not compiled into the build subdir for hardkernel
/u-boot-hack/build/board/hardkernel/odroidc2# ls

Code: Select all

built-in.o       odroidc2-fastboot.o   odroidc2-otg.o       odroidc2-recovery.su
odroidc2-eth.o   odroidc2-fastboot.su  odroidc2-otg.su      odroidc2.su
odroidc2-eth.su  odroidc2.o            odroidc2-recovery.o
I was wondering why nothing I did in that file made any difference at all (even crazy values)
Its just not used.

So DDR3 timings are another area where only those with access to the signed binary blobs get to adjust the values
I emailed HK that they should check into the DDR3: clock, timings, and voltages. (apparently they will have to go to Amlogic again for that)

brad
Posts: 1117
Joined: Tue Mar 29, 2016 1:22 pm
languages_spoken: english
ODROIDs: C2 N1 N2 H2 (64 bit ftw)
Location: Australia
Has thanked: 46 times
Been thanked: 93 times
Contact:

Re: No performance difference between 1.5, 1.75 & 2GHz

Post by brad » Sun Sep 04, 2016 3:21 pm

My system seems stable at 1.752 with 4 cpu's enabled but I needed to modify the thermal settings to kick in much earlier to prevent crashes at higher temperatures. Here are the values where the thermal temps even out at 75C (heavily loaded system borders on getting here with stock heatsink, but cpuburn has no difficulties)...

Code: Select all

trips {
                                warm: trip-point@0 {
                                        temperature = <70000>;
                                        hysteresis = <1000>;
                                        type = "passive";
                                };
                                control: trip-point@1 {
                                        temperature = <75000>;
                                        hysteresis = <1000>;
                                        type = "passive";
                                };
                                hot: trip-point@2 {
                                        temperature = <80000>;
                                        hysteresis = <1000>;
                                        type = "passive";
                                };
                                critical: trip-point@3 {
                                        temperature = <100000>;
                                        hysteresis = <1000>;
                                        type = "critical";
                                };
                        };
1.8 with 3 CPU's enabled is unreliable for me even and crashes on even a cold board very easily.

I could get it booted once 1 cpu at 2.016GHz but it was quiet unstable. 1 min of cpuburn caused the following 2 dumps and then a system freeze (even though temps were only 54C) ...

Code: Select all

[  191.596434] Unable to handle kernel NULL pointer dereference at virtual address 00000010
[  191.598971] pgd = ffffffc00217d000
[  191.602333] [00000010] *pgd=000000005d403003, *pmd=000000005d406003, *pte=00600000c4301707
[  191.626471] Internal error: Oops: 96000006 [#1] PREEMPT SMP
[  191.628533] Modules linked in: zram lz4_decompress lz4_compress gxbb_wdt ipv6 autofs4
[  191.636298] CPU: 0 PID: 63 Comm: kthread_hdcp Not tainted 3.14.77+ #12
[  191.642765] task: ffffffc05a9f0000 ti: ffffffc073828000 task.ti: ffffffc073828000
[  191.650190] PC is at msleep_interruptible+0x34/0x90
[  191.655012] LR is at msleep_interruptible+0x20/0x90
[  191.659841] pc : [<ffffffc0010bcd54>] lr : [<ffffffc0010bcd40>] pstate: 00000145
[  191.667171] sp : ffffffc07382bdd0
[  191.670449] x29: ffffffc07382bdd0 x28: 0000000000000000 
[  191.675710] x27: 0000000000000000 x26: 0000000000000000 
[  191.680972] x25: 0000000000000000 x24: 0000000000000000 
[  191.686233] x23: ffffffc001f73000 x22: ffffffc001f73de0 
[  191.691494] x21: ffffffc001d1b000 x20: ffffffc001f73198 
[  191.696755] x19: ffffffc073828000 x18: 0000000000000a03 
[  191.702017] x17: 0000000000000000 x16: 0000000000000000 
[  191.707278] x15: 0000000000000000 x14: 0000000000000000 
[  191.712539] x13: 0000000000000000 x12: 0000000000000000 
[  191.717800] x11: 0000000000000000 x10: 0000000000000000 
[  191.723062] x9 : 0000000000000000 x8 : 0000000000000000 
[  191.728323] x7 : ffffffc05a9f0078 x6 : ffffffc05a9f0078 
[  191.733584] x5 : 0000000000000000 x4 : 0000000000800000 
[  191.738845] x3 : 0000000000000000 x2 : 0000000000000000 
[  191.744107] x1 : ffffffc05a9f0000 x0 : 000000000000000b 
[  191.749369] 
[  191.749369] PC: 0xffffffc0010bccd4:
[  191.754284] ccd4  f90013f5 910003e1 2a0003f5 aa1e03e0 9272c434 d2800053 d503201f 2a1503e0
[  191.762391] ccf4  97ffd2be b1000400 540000a0 f9400a81 f9000033 941eff02 b5ffffa0 a94153f3
[  191.770499] cd14  f94013f5 a8c37bfd d65f03c0 a9be7bfd 910003fd a90153f3 2a0003f3 aa1e03e0
[  191.778606] cd34  d503201f 2a1303e0 97ffd2ac b1000400 540002a0 910003e1 9272c433 f9400a61
[  191.786714] cd54  f9400421 f9400021 37000141 d2800034 f9400a61 f9000034 941efee9 b4000140
[  191.794821] cd74  f9400a61 f9400421 f9400021 3607ff21 97ffd208 2a0003e0 a94153f3 a8c27bfd
[  191.802929] cd94  d65f03c0 d2800000 97ffd202 2a0003e0 a94153f3 a8c27bfd d65f03c0 a9bb7bfd
[  191.811036] cdb4  910003fd a90153f3 a9025bf5 aa0003f5 aa1e03e0 b24077f4 d503201f 8b1402b4
[  191.819144] 
[  191.819144] LR: 0xffffffc0010bccc0:
[  191.824060] ccc0  941f0404 17ffffc3 a9bd7bfd 910003fd a90153f3 f90013f5 910003e1 2a0003f5
[  191.832167] cce0  aa1e03e0 9272c434 d2800053 d503201f 2a1503e0 97ffd2be b1000400 540000a0
[  191.840275] cd00  f9400a81 f9000033 941eff02 b5ffffa0 a94153f3 f94013f5 a8c37bfd d65f03c0
[  191.848383] cd20  a9be7bfd 910003fd a90153f3 2a0003f3 aa1e03e0 d503201f 2a1303e0 97ffd2ac
[  191.856490] cd40  b1000400 540002a0 910003e1 9272c433 f9400a61 f9400421 f9400021 37000141
[  191.864597] cd60  d2800034 f9400a61 f9000034 941efee9 b4000140 f9400a61 f9400421 f9400021
[  191.872705] cd80  3607ff21 97ffd208 2a0003e0 a94153f3 a8c27bfd d65f03c0 d2800000 97ffd202
[  191.880813] cda0  2a0003e0 a94153f3 a8c27bfd d65f03c0 a9bb7bfd 910003fd a90153f3 a9025bf5
[  191.888920] 
[  191.888920] SP: 0xffffffc07382bd50:
[  191.893836] bd50  01f73198 ffffffc0 01d1b000 ffffffc0 01f73de0 ffffffc0 01f73000 ffffffc0
[  191.901944] bd70  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  191.910051] bd90  00000000 00000000 7382bdd0 ffffffc0 010bcd40 ffffffc0 7382bdd0 ffffffc0
[  191.918159] bdb0  010bcd54 ffffffc0 00000145 00000000 00000064 00000000 01f73de0 ffffffc0
[  191.926266] bdd0  7382bdf0 ffffffc0 01626b48 ffffffc0 01f72198 ffffffc0 01f73198 ffffffc0
[  191.934374] bdf0  7382be30 ffffffc0 010d24fc ffffffc0 5abfd980 ffffffc0 01d5fa88 ffffffc0
[  191.942481] be10  01a93710 ffffffc0 01f72198 ffffffc0 01626ac4 ffffffc0 01f72198 ffffffc0
[  191.950589] be30  00000000 00000000 010843b0 ffffffc0 010d2420 ffffffc0 5abfd980 ffffffc0
[  191.958697] 
[  191.958697] X1: 0xffffffc05a9eff80:
[  191.963613] ff80  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  191.971720] ffa0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  191.979828] ffc0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  191.987935] ffe0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  191.996042] 0000  00000000 00000000 73828000 ffffffc0 00000002 00208040 00000000 00000000
[  192.004150] 0020  00000000 00000000 00000001 00000000 5a22c000 ffffffc0 00000002 00000000
[  192.015366] 0040  ffffd5a8 00000000 00000000 00000001 00000078 00000078 00000078 00000000
[  192.023464] 0060  01890ec8 ffffffc0 00000400 00000000 00400000 00000000 00000001 00000000
[  192.031575] 
[  192.031575] X6: 0xffffffc05a9efff8:
[  192.038077] fff8  00000000 00000000 00000000 00000000 73828000 ffffffc0 00000002 00208040
[  192.048484] 0018  00000000 00000000 00000000 00000000 00000001 00000000 5a22c000 ffffffc0
[  192.056548] 0038  00000002 00000000 ffffd5a8 00000000 00000000 00000001 00000078 00000078
[  192.064617] 0058  00000078 00000000 01890ec8 ffffffc0 00000400 00000000 00400000 00000000
[  192.072682] 0078  00000001 00000000 5bfed410 ffffffc0 00000000 00000000 5bfb6090 ffffffc0
[  192.080750] 0098  7419a860 ffffffc0 00000001 00000000 9dd326f0 0000002c 02b74060 00000000
[  192.088847] 00b8  94ccaa78 0000000a 02b74060 00000000 00000000 00000000 00000000 00000000
[  192.096988] 00d8  01135848 00000000 000006bb 00000000 048103e0 00000000 00000000 00000000
[  192.105056] 
[  192.105056] X7: 0xffffffc05a9efff8:
[  192.111133] fff8  00000000 00000000 00000000 00000000 73828000 ffffffc0 00000002 00208040
[  192.121426] 0018  00000000 00000000 00000000 00000000 00000001 00000000 5a22c000 ffffffc0
[  192.129560] 0038  00000002 00000000 ffffd5a8 00000000 00000000 00000001 00000078 00000078
[  192.137670] 0058  00000078 00000000 01890ec8 ffffffc0 00000400 00000000 00400000 00000000
[  192.145793] 0078  00000001 00000000 5bfed410 ffffffc0 00000000 00000000 5bfb6090 ffffffc0
[  192.153904] 0098  7419a860 ffffffc0 00000001 00000000 9dd326f0 0000002c 02b74060 00000000
[  192.162047] 00b8  94ccaa78 0000000a 02b74060 00000000 00000000 00000000 00000000 00000000
[  192.170191] 00d8  01135848 00000000 000006bb 00000000 048103e0 00000000 00000000 00000000
[  192.178321] 
[  192.178321] X19: 0xffffffc073827f80:
[  192.184920] 7f80  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.195556] 7fa0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.203635] 7fc0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.211742] 7fe0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.219835] 8000  00000000 00000000 ffffffff ffffffff 5a9f0000 ffffffc0 01c93540 ffffffc0
[  192.227948] 8020  010c1338 ffffffc0 00000000 00000000 00000000 00000000 00000000 00000000
[  192.236094] 8040  00000000 00000000 00000000 00000000 00000002 00000000 57ac6e9d 00000000
[  192.244156] 8060  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.252218] 
[  192.252218] X20: 0xffffffc001f73118:
[  192.258705] 3118  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.269223] 3138  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.277284] 3158  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.285335] 3178  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.293388] 3198  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.301429] 31b8  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.309523] 31d8  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.317561] 31f8  00000000 00000000 00000000 00000101 00000c03 00000000 4d415300 4d415300
[  192.325631] 
[  192.325631] X21: 0xffffffc001d1af80:
[  192.331380] af80  01b09d08 ffffffc0 01b09d18 ffffffc0 00000000 00000000 00000002 00000000
[  192.341525] afa0  01622610 ffffffc0 0161ff38 ffffffc0 00000000 00000000 0161fa14 ffffffc0
[  192.349617] afc0  0161fa30 ffffffc0 01b08d80 ffffffc0 01cea6a8 ffffffc0 00000000 00000000
[  192.357702] afe0  00000000 00000000 00000000 00000000 01932cd0 ffffffc0 00000000 00000000
[  192.365785] b000  0148af38 ffffffc0 0148a82c ffffffc0 00000000 00000000 00000000 00000000
[  192.373870] b020  00000000 00000000 00000000 00000000 00000000 00000000 5d601e00 ffffffc0
[  192.382003] b040  00000000 00000000 00000000 00000000 01f77a90 ffffffc0 0216c830 ffffffc0
[  192.390062] b060  00000028 00000000 016223e4 ffffffc0 01622288 ffffffc0 01f72198 ffffffc0
[  192.398148] 
[  192.398148] X22: 0xffffffc001f73d60:
[  192.403636] 3d60  5d627d00 ffffffc0 5d627e00 ffffffc0 5d627f00 ffffffc0 5d627b00 ffffffc0
[  192.413680] 3d80  5d627c00 ffffffc0 00000000 00000000 0fd00000 00000000 5d651d80 ffffffc0
[  192.421797] 3da0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.429907] 3dc0  00000000 00000000 00000000 00000000 00000001 00000000 0000b8dc 00000000
[  192.437985] 3de0  01d5c4d8 ffffffc0 01d5c4d8 ffffffc0 ffffd66b 00000000 01d5be00 ffffffc0
[  192.446076] 3e00  01626be8 ffffffc0 01f72198 ffffffc0 ffffffff ffffffff 00000000 00000000
[  192.454204] 3e20  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.462289] 3e40  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.470396] 
[  192.470396] X23: 0xffffffc001f72f80:
[  192.475991] 2f80  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.486129] 2fa0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.494206] 2fc0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.502286] 2fe0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.510368] 3000  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.518411] 3020  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.526503] 3040  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.534544] 3060  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.542624] 
[  192.542624] X29: 0xffffffc07382bd50:
[  192.547877] bd50  01f73198 ffffffc0 01d1b000 ffffffc0 01f73de0 ffffffc0 01f73000 ffffffc0
[  192.557831] bd70  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.565933] bd90  00000000 00000000 7382bdd0 ffffffc0 010bcd40 ffffffc0 7382bdd0 ffffffc0
[  192.574046] bdb0  010bcd54 ffffffc0 00000145 00000000 00000064 00000000 01f73de0 ffffffc0
[  192.582181] bdd0  7382bdf0 ffffffc0 01626b48 ffffffc0 01f72198 ffffffc0 01f73198 ffffffc0
[  192.590260] bdf0  7382be30 ffffffc0 010d24fc ffffffc0 5abfd980 ffffffc0 01d5fa88 ffffffc0
[  192.598373] be10  01a93710 ffffffc0 01f72198 ffffffc0 01626ac4 ffffffc0 01f72198 ffffffc0
[  192.606438] be30  00000000 00000000 010843b0 ffffffc0 010d2420 ffffffc0 5abfd980 ffffffc0
[  192.614551] 
[  192.617211] Process kthread_hdcp (pid: 63, stack limit = 0xffffffc073828058)
[  192.621348] Stack: (0xffffffc07382bdd0 to 0xffffffc07382c000)
[  192.627041] bdc0:                                     7382bdf0 ffffffc0 01626b48 ffffffc0
[  192.635149] bde0: 01f72198 ffffffc0 01f73198 ffffffc0 7382be30 ffffffc0 010d24fc ffffffc0
[  192.643257] be00: 5abfd980 ffffffc0 01d5fa88 ffffffc0 01a93710 ffffffc0 01f72198 ffffffc0
[  192.651364] be20: 01626ac4 ffffffc0 01f72198 ffffffc0 00000000 00000000 010843b0 ffffffc0
[  192.659472] be40: 010d2420 ffffffc0 5abfd980 ffffffc0 00000000 00000000 00000000 00000000
[  192.667579] be60: 00000000 00000000 00000000 00000000 7382beb0 ffffffc0 00000000 00000000
[  192.675687] be80: 74199f00 ffffffc0 01f72198 ffffffc0 00000000 00000000 00000000 00000000
[  192.683794] bea0: 7382bea0 ffffffc0 7382bea0 ffffffc0 00000000 00000000 00000000 ffffffc0
[  192.691902] bec0: 7382bec0 ffffffc0 7382bec0 ffffffc0 00000000 00000000 00000000 00000000
[  192.700009] bee0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.708116] bf00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.716224] bf20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.724331] bf40: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.732439] bf60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.740547] bf80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.748654] bfa0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.756761] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000005 00000000
[  192.764869] bfe0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  192.772974] Call trace:
[  192.775580] [<ffffffc0010bcd54>] msleep_interruptible+0x34/0x90
[  192.781259] [<ffffffc001626b48>] hdmitx_hdcp_task+0x84/0x124
[  192.786864] [<ffffffc0010d24fc>] kthread+0xdc/0xf0
[  192.791607] Code: 540002a0 910003e1 9272c433 f9400a61 (f9400421) 
[  193.996650] ---[ end trace d5a001444c4a18a8 ]---
[  256.063870] do_undefinstr: 10 callbacks suppressed
[  256.066724] kworker/0:1[24]: undefined instruction: pc=ffffffc0016bfa54
[  256.072405] Code: 9100075a 8b1a0eba 14000004 910022b5 (eb1a02bf) 
[  256.078441] Internal error: Oops - undefined instruction: 0 [#2] PREEMPT SMP
[  256.085427] Modules linked in: zram lz4_decompress lz4_compress gxbb_wdt ipv6 autofs4
[  256.095796] CPU: 0 PID: 24 Comm: kworker/0:1 Tainted: G      D      3.14.77+ #12
[  256.100529] Workqueue: events di_timer_handle
[  256.107473] task: ffffffc05d7c8c80 ti: ffffffc05d7d8000 task.ti: ffffffc05d7d8000
[  256.112252] PC is at vf_get_provider_name+0x4c/0x104
[  256.117167] LR is at vf_peek+0x20/0x54
[  256.120875] pc : [<ffffffc0016bfa54>] lr : [<ffffffc0016c02e0>] pstate: 200001c5
[  256.128205] sp : ffffffc05d7db9d0
[  256.131483] x29: ffffffc05d7db9d0 x28: ffffffc001a9a000 
[  256.139439] x27: ffffffc001d54000 x26: ffffffc002155760 
[  256.144684] x25: 0000000000000000 x24: ffffffc001b22f68 
[  256.149960] x23: 0000000000000000 x22: ffffffc05d768800 
[  256.155181] x21: ffffffc002155758 x20: ffffffc002147000 
[  256.160428] x19: ffffffc001b22f68 x18: 0000000000000a03 
[  256.165667] x17: 0000000000412020 x16: 0000007f8ec9d978 
[  256.170953] x15: 0000007f8ed90cc0 x14: 0000000000000000 
[  256.176168] x13: 0000000072526000 x12: 147108dd6c805153 
[  256.181437] x11: ffffffc001c87ce0 x10: ffffffc001890cc0 
[  256.186663] x9 : ffffffc05d7dbc00 x8 : ffffffc05d7c92b0 
[  256.191939] x7 : 0000000000000015 x6 : ffffffc05d408600 
[  256.197222] x5 : ffffffc05d408600 x4 : 0000000000000000 
[  256.202512] x3 : 0000000000000000 x2 : ffffffc0016bb5bc 
[  256.207798] x1 : ffffffc00214cc60 x0 : 0000000000000002 
[  256.213090] 
[  256.213090] PC: 0xffffffc0016bf9d4:
[  256.218967] f9d4  6b13001f 54fffd8c 911d42e0 110006d6 91002294 b940a000 6b16001f 54fffa8c
[  256.229115] f9f4  a94153f3 a9425bf5 f9401bf7 a8c47bfd d65f03c0 a9bb7bfd 910003fd a90153f3
[  256.237269] fa14  a9025bf5 a90363f7 a9046bf9 d00054b5 aa0003f8 911d42b5 aa1e03e0 d503201f
[  256.245363] fa34  b940a2a0 6b1f001f 540005ad 5100041a 9100075a 8b1a0eba 14000004 910022b5
[  256.253477] fa54  eb1a02bf 540004c0 f94002b6 b4ffff96 b94456d9 34ffff59 b9444ed7 6b1f02ff
[  256.261605] fa74  54fffeed 910192d4 52800013 14000004 11000673 6b17027f 54fffe20 aa1403e0
[  256.269723] fa94  aa1803e1 91019294 97f3e099 35ffff20 6b1f027f 54fffd4d 51000673 1ad32b39
[  256.277845] fab4  3607fcf9 93407e73 d37ef660 cb130000 d37be801 8b010000 8b130000 8b0002c0
[  256.285993] 
[  256.285993] LR: 0xffffffc0016c0260:
[  256.292199] 0260  aa0003f3 aa1e03e0 2a0103f4 aa0203f5 d503201f aa1303e0 97fffde4 97ffffc1
[  256.302498] 0280  b40001c0 f9400402 b4000182 f9400c43 b4000143 f9400802 aa1503e1 2a1403e0
[  256.310609] 02a0  d63f0060 52800000 a94153f3 f94013f5 a8c37bfd d65f03c0 12800000 17fffffb
[  256.318714] 02c0  a9be7bfd 910003fd f9000bf3 aa0003f3 aa1e03e0 d503201f aa1303e0 97fffdcb
[  256.326803] 02e0  97ffffa8 b4000140 f9400401 b4000101 f9400021 b40000c1 f9400800 d63f0020
[  256.334923] 0300  f9400bf3 a8c27bfd d65f03c0 d2800000 17fffffc a9be7bfd 910003fd f9000bf3
[  256.343063] 0320  aa0003f3 aa1e03e0 d503201f aa1303e0 97fffdb6 97ffff93 b4000140 f9400401
[  256.351185] 0340  b4000101 f9400421 b40000c1 f9400800 d63f0020 f9400bf3 a8c27bfd d65f03c0
[  256.359324] 
[  256.359324] SP: 0xffffffc05d7db950:
[  256.365684] b950  02147000 ffffffc0 02155758 ffffffc0 5d768800 ffffffc0 00000000 00000000
[  256.376101] b970  01b22f68 ffffffc0 00000000 00000000 02155760 ffffffc0 01d54000 ffffffc0
[  256.384238] b990  01a9a000 ffffffc0 5d7db9d0 ffffffc0 016c02e0 ffffffc0 5d7db9d0 ffffffc0
[  256.392350] b9b0  016bfa54 ffffffc0 200001c5 00000000 738cb480 ffffffc0 5d7dbae0 ffffffc0
[  256.400488] b9d0  5d7dba20 ffffffc0 016c02e0 ffffffc0 01b22f68 ffffffc0 02147000 ffffffc0
[  256.408633] b9f0  02147760 ffffffc0 02146000 ffffffc0 00000000 00000000 01d55000 ffffffc0
[  256.416771] ba10  01d55000 ffffffc0 5d408600 ffffffc0 5d7dba40 ffffffc0 016bb660 ffffffc0
[  256.424912] ba30  0214c000 ffffffc0 00000026 00000000 5d7dba70 ffffffc0 01105340 ffffffc0
[  256.433045] 
[  256.433045] X1: 0xffffffc00214cbe0:
[  256.440003] cbe0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  256.450752] cc00  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  256.458792] cc20  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  256.466852] cc40  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  256.474925] cc60  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  256.483002] cc80  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  256.491065] cca0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  256.499124] ccc0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  256.507195] 
[  256.507195] X2: 0xffffffc0016bb53c:
[  256.513665] b53c  5400010d b9470840 51000400 b9070840 6b1f001f 54fff4ec b906f05f 17ffffa5
[  256.524094] b55c  52800780 b9070840 17ffffa2 52800060 b906ee80 17ffffb6 b907085f 17ffff9d
[  256.532175] b57c  528003c1 b906f040 b9070841 17ffff99 f9417ec0 b4fff9a0 b900241f 528000a1
[  256.540262] b59c  f9417ec0 b900281f f9417ec0 97ffea45 f9017edf 17ffffc5 f9002c3f 17ffffd1
[  256.548361] b5bc  a9bd7bfd 910003fd a90153f3 a9025bf5 90005474 aa1e03e0 911d8295 b0005493
[  256.556464] b5dc  d503201f 394092a0 35000180 91318273 b946fa60 36280080 90002340 913b2000
[  256.564569] b5fc  97fff0b0 52800020 a94153f3 a9425bf5 a8c37bfd d65f03c0 f0005456 911982c0
[  256.572704] b61c  b94ea400 35000780 b85082a0 35000680 911982c0 b0005493 b94ea800 350005a0
[  256.580813] 
[  256.580813] X5: 0xffffffc05d408580:
[  256.587220] 8580  00000000 00000000 00000000 00040004 00000000 00000000 00000000 00000000
[  256.597673] 85a0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  256.605764] 85c0  00000000 00000000 00000000 00000000 5d43a580 ffffffc0 00000000 00000000
[  256.613877] 85e0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  256.621977] 8600  00000000 00000026 00000026 00000000 00000000 00040001 01ce0188 ffffffc0
[  256.630083] 8620  5d418000 ffffffc0 00000000 00000000 01c88120 ffffffc0 00000000 00000000
[  256.638209] 8640  00000001 00000000 01c76e38 ffffffc0 01108a24 ffffffc0 738cb480 ffffffc0
[  256.646341] 8660  00000001 00000000 00000000 00000000 00006209 00000000 00000000 00000000
[  256.654468] 
[  256.654468] X6: 0xffffffc05d408580:
[  256.661128] 8580  00000000 00000000 00000000 00040004 00000000 00000000 00000000 00000000
[  256.671702] 85a0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  256.679785] 85c0  00000000 00000000 00000000 00000000 5d43a580 ffffffc0 00000000 00000000
[  256.687876] 85e0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  256.695971] 8600  00000000 00000026 00000026 00000000 00000000 00040001 01ce0188 ffffffc0
[  256.704063] 8620  5d418000 ffffffc0 00000000 00000000 01c88120 ffffffc0 00000000 00000000
[  256.712199] 8640  00000001 00000000 01c76e38 ffffffc0 01108a24 ffffffc0 738cb480 ffffffc0
[  256.720286] 8660  00000001 00000000 00000000 00000000 00006209 00000000 00000000 00000000
[  256.728374] 
[  256.728374] X8: 0xffffffc05d7c9230:
[  256.734943] 9230  726f776b 2f72656b 00313a30 00000000 00000000 00000000 00000000 00000000
[  256.745413] 9250  738cc000 ffffffc0 5d7c8c80 ffffffc0 5d7c8c80 ffffffc0 01c73f00 ffffffc0
[  256.753516] 9270  73b64600 ffffffc0 5d7d8000 ffffffc0 01c87000 ffffffc0 01c73f00 ffffffc0
[  256.761585] 9290  00000000 00000000 38e38e39 8e38e38e 5d7dbc00 ffffffc0 5d7dbc00 ffffffc0
[  256.769672] 92b0  01085680 ffffffc0 00000000 00000000 2f2f2f2f 2f2f2f2f 2f2f2f2f 2f2f2f2f
[  256.777768] 92d0  62696c2f 7379732f 646d6574 7379732f 2d6d6574 74756873 6e776f64 00000000
[  256.785923] 92f0  00000000 aa000000 00000000 aa000000 00000000 00000000 00000000 80200802
[  256.794022] 9310  01000101 00000000 01000101 00000000 00000000 00000000 00000000 00000000
[  256.802092] 
[  256.802092] X9: 0xffffffc05d7dbb80:
[  256.808474] bb80  5d7dbcd0 ffffffc0 01083dac ffffffc0 00000140 00000000 02147788 ffffffc0
[  256.818867] bba0  5d7dbcd0 ffffffc0 01880ec8 ffffffc0 0000261d 00000000 00000140 00000000
[  256.826939] bbc0  00000000 00000000 010eb30c ffffffc0 39085d68 00000019 00000001 00000000
[  256.835032] bbe0  00000000 00000000 00000015 00000000 5d7c92b0 ffffffc0 5d7dbc00 ffffffc0
[  256.843127] bc00  01890cc0 ffffffc0 01c87ce0 ffffffc0 6c805153 147108dd 72526000 00000000
[  256.851225] bc20  00000000 00000000 8ed90cc0 0000007f 8ec9d978 0000007f 00412020 00000000
[  256.859366] bc40  00000a03 00000000 00000140 00000000 02147788 ffffffc0 02146000 ffffffc0
[  256.867444] bc60  74199700 ffffffc0 00000000 00000000 01d54ce8 ffffffc0 5d7d8000 ffffffc0
[  256.875541] 
[  256.875541] X10: 0xffffffc001890c40:
[  256.881815] 0c40  52202c73 3e2d4345 67726174 635f7465 00007570 00000000 74657222 2264253d
[  256.892262] 0c60  4552202c 723e2d43 00007465 00000000 6d6f6322 73253d6d 64697020 2264253d
[  256.900391] 0c80  4552202c 633e2d43 2c6d6d6f 43455220 69703e2d 00000064 40200800 00000080
[  256.908512] 0ca0  00000000 00000000 00082040 00000000 0c284860 00000001 2b4b6270 0000010f
[  256.916644] 0cc0  4c627078 0002102d 6f697270 6168635f 6465676e 6c64695f 00000065 00000000
[  256.924739] 0ce0  74697773 64656863 5f6f745f 656c6469 00000000 00000000 00000000 00000000
[  256.932875] 0d00  00000000 00000000 010e778c ffffffc0 00000000 00000000 00000000 00000000
[  256.940948] 0d20  010e7760 ffffffc0 010e7724 ffffffc0 010e7618 ffffffc0 010e75ec ffffffc0
[  256.949097] 
[  256.949097] X11: 0xffffffc001c87c60:
[  256.955735] 7c60  00000000 00000000 00000000 00000000 00000000 00000000 00000064 00000000
[  256.966413] 7c80  0000c000 0000000f 741fc900 ffffffc0 00000048 00000000 741fca00 ffffffc0
[  256.974554] 7ca0  741fca80 ffffffc0 0000000c 00000000 74196000 ffffffc0 00000000 00000003
[  256.982719] 7cc0  00000004 00001000 00000001 00000000 741fcb00 ffffffc0 741fcb80 ffffffc0
[  256.990862] 7ce0  72526000 00000000 72532000 00000000 7253e000 00000000 7254a000 00000000
[  256.998942] 7d00  00000001 00000000 000741ff 00000000 00077fff 00000000 0000d3a0 00000000
[  257.007063] 7d20  00002000 00000000 00000000 0000fffa 00000000 00000000 00000032 00000001
[  257.015127] 7d40  00000001 00000000 5d410c00 ffffffc0 00000000 00000000 01878074 ffffffc0
[  257.023226] 
[  257.023226] X19: 0xffffffc001b22ee8:
[  257.030143] 2ee8  202c7025 76697270 5f657461 61746164 0a702520 00000000 69703601 5f6c6578
[  257.040882] 2f08  69746172 6425206f 73696c20 70252074 0000000a 00000000 69643601 76657220
[  257.048976] 2f28  72657365 6d656d20 2079726f 6c257830 73202c78 20657a69 424d7525 00000a2e
[  257.057088] 2f48  69643601 6d64685f 3a787269 73657220 20656d75 75646f6d 000a656c 00000000
[  257.065182] 2f68  6e696564 6c726574 00656361 00000000 69643601 6964203a 7375735f 646e6570
[  257.073279] 2f88  0000000a 00000000 253d7325 0a783830 00000000 00000000 676f7270 73736572
[  257.081429] 2fa8  00657669 00000000 65746e69 63616c72 00000065 00000000 74706163 00657275
[  257.089508] 2fc8  72633301 65746165 20732520 6f727265 000a2e72 00000000 72773601 20657469
[  257.097660] 
[  257.097660] X20: 0xffffffc002146f80:
[  257.104726] 6f80  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.115598] 6fa0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.123662] 6fc0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.131724] 6fe0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.139791] 7000  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.147832] 7020  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.155923] 7040  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.163965] 7060  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.172071] 
[  257.172071] X21: 0xffffffc0021556d8:
[  257.178787] 56d8  00000000 00000004 00000020 00000001 00000028 00000050 00000078 00000019
[  257.189474] 56f8  0000004b 0000007d 00000001 00000001 00000000 00000000 00000000 00000020
[  257.197553] 5718  00000096 00000096 00000004 00000000 00000000 00000000 00000020 00000096
[  257.205626] 5738  00000078 00000004 00000000 00000000 00000000 00000000 5d768800 ffffffc0
[  257.213714] 5758  5d769000 ffffffc0 00000000 00000000 00000000 00000000 00000000 00000000
[  257.221784] 5778  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.229887] 5798  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.237925] 57b8  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.245979] 
[  257.245979] X22: 0xffffffc05d768780:
[  257.252371] 8780  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.262854] 87a0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.270899] 87c0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.278945] 87e0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.287034] 8800  61666564 5f746c75 0064736f 00000000 00000000 00000000 00000000 00000000
[  257.295098] 8820  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.303211] 8840  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.311253] 8860  00000000 0064736f 00000000 00000000 00000000 00000000 00000000 00000000
[  257.319344] 
[  257.319344] X24: 0xffffffc001b22ee8:
[  257.325248] 2ee8  202c7025 76697270 5f657461 61746164 0a702520 00000000 69703601 5f6c6578
[  257.335480] 2f08  69746172 6425206f 73696c20 70252074 0000000a 00000000 69643601 76657220
[  257.343586] 2f28  72657365 6d656d20 2079726f 6c257830 73202c78 20657a69 424d7525 00000a2e
[  257.351714] 2f48  69643601 6d64685f 3a787269 73657220 20656d75 75646f6d 000a656c 00000000
[  257.359841] 2f68  6e696564 6c726574 00656361 00000000 69643601 6964203a 7375735f 646e6570
[  257.367937] 2f88  0000000a 00000000 253d7325 0a783830 00000000 00000000 676f7270 73736572
[  257.376086] 2fa8  00657669 00000000 65746e69 63616c72 00000065 00000000 74706163 00657275
[  257.384164] 2fc8  72633301 65746165 20732520 6f727265 000a2e72 00000000 72773601 20657469
[  257.392267] 
[  257.392267] X26: 0xffffffc0021556e0:
[  257.398239] 56e0  00000020 00000001 00000028 00000050 00000078 00000019 0000004b 0000007d
[  257.408506] 5700  00000001 00000001 00000000 00000000 00000000 00000020 00000096 00000096
[  257.416587] 5720  00000004 00000000 00000000 00000000 00000020 00000096 00000078 00000004
[  257.424672] 5740  00000000 00000000 00000000 00000000 5d768800 ffffffc0 5d769000 ffffffc0
[  257.432769] 5760  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.440837] 5780  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.448928] 57a0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.456967] 57c0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  257.465042] 
[  257.465042] X27: 0xffffffc001d53f80:
[  257.470571] 3f80  01ad66e0 ffffffc0 014a7b14 ffffffc0 014a71b0 ffffffc0 0115efec ffffffc0
[  257.480637] 3fa0  01bbc350 ffffffc0 00000000 00000000 5d759150 ffffffc0 5d759150 ffffffc0
[  257.488748] 3fc0  0115dbcc ffffffc0 01ad66e0 ffffffc0 014a7968 ffffffc0 014a74d4 ffffffc0
[  257.496864] 3fe0  0115efec ffffffc0 01bbc718 ffffffc0 00000000 00000000 5d759360 ffffffc0
[  257.504974] 4000  5d759180 ffffffc0 0115dbcc ffffffc0 01ad66e0 ffffffc0 014a77bc ffffffc0
[  257.513053] 4020  014a7388 ffffffc0 0115efec ffffffc0 01bbc538 ffffffc0 00000000 00000000
[  257.521175] 4040  5d759570 ffffffc0 5d759390 ffffffc0 0115dbcc ffffffc0 01ad66e0 ffffffc0
[  257.529248] 4060  014a7618 ffffffc0 014a724c ffffffc0 0115efec ffffffc0 01bbc384 ffffffc0
[  257.537334] 
[  257.537334] X28: 0xffffffc001a99f80:
[  257.542775] 9f80  206b636f 202c7325 69707865 0a646572 00000000 00000000 63613601 65766974
[  257.552779] 9fa0  6b617720 6f6c2065 25206b63 00000a73 22732522 09642509 25096425 6c250964
[  257.560882] 9fc0  2509646c 09646c6c 646c6c25 6c6c2509 6c250964 000a646c 656d616e 756f6309
[  257.569011] 9fe0  6509746e 72697078 6f635f65 09746e75 656b6177 756f635f 6109746e 76697463
[  257.577124] a000  69735f65 0965636e 61746f74 69745f6c 7309656d 7065656c 6d69745f 616d0965
[  257.585218] a020  69745f78 6c09656d 5f747361 6e616863 000a6567 00000000 78653601 65726970
[  257.593358] a040  61772064 6c20656b 206b636f 000a7325 78653601 65726970 6b61775f 6f6c5f65
[  257.601450] a060  3a736b63 61747320 000a7472 00000000 78653601 65726970 6b61775f 6f6c5f65
[  257.609585] 
[  257.609585] X29: 0xffffffc05d7db950:
[  257.615272] b950  02147000 ffffffc0 02155758 ffffffc0 5d768800 ffffffc0 00000000 00000000
[  257.625474] b970  01b22f68 ffffffc0 00000000 00000000 02155760 ffffffc0 01d54000 ffffffc0
[  257.633620] b990  01a9a000 ffffffc0 5d7db9d0 ffffffc0 016c02e0 ffffffc0 5d7db9d0 ffffffc0
[  257.641761] b9b0  016bfa54 ffffffc0 200001c5 00000000 738cb480 ffffffc0 5d7dbae0 ffffffc0
[  257.649899] b9d0  5d7dba20 ffffffc0 016c02e0 ffffffc0 01b22f68 ffffffc0 02147000 ffffffc0
[  257.657975] b9f0  02147760 ffffffc0 02146000 ffffffc0 00000000 00000000 01d55000 ffffffc0
[  257.666098] ba10  01d55000 ffffffc0 5d408600 ffffffc0 5d7dba40 ffffffc0 016bb660 ffffffc0
[  257.674171] ba30  0214c000 ffffffc0 00000026 00000000 5d7dba70 ffffffc0 01105340 ffffffc0
[  257.682288] 
[  257.685311] Process kworker/0:1 (pid: 24, stack limit = 0xffffffc05d7d8058)
[  257.689728] Stack: (0xffffffc05d7db9d0 to 0xffffffc05d7dc000)
[  257.695421] b9c0:                                     5d7dba20 ffffffc0 016c02e0 ffffffc0
[  257.703529] b9e0: 01b22f68 ffffffc0 02147000 ffffffc0 02147760 ffffffc0 02146000 ffffffc0
[  257.711637] ba00: 00000000 00000000 01d55000 ffffffc0 01d55000 ffffffc0 5d408600 ffffffc0
[  257.719744] ba20: 5d7dba40 ffffffc0 016bb660 ffffffc0 0214c000 ffffffc0 00000026 00000000
[  257.727852] ba40: 5d7dba70 ffffffc0 01105340 ffffffc0 738cb480 ffffffc0 00000026 00000000
[  257.735959] ba60: 5d7d8000 ffffffc0 00000000 00000000 5d7dbae0 ffffffc0 011055bc ffffffc0
[  257.744067] ba80: 5d408600 ffffffc0 5d40868c ffffffc0 738cb480 ffffffc0 5d7dbbb0 ffffffc0
[  257.752174] baa0: 60000145 00000000 01d54ce8 ffffffc0 5d7d8000 ffffffc0 00000000 00000000
[  257.760282] bac0: 01d55570 ffffffc0 00000000 00000000 01a9acd8 ffffffc0 01d54d2e ffffffc0
[  257.768389] bae0: 5d7dbb10 ffffffc0 01108ac8 ffffffc0 5d408600 ffffffc0 5d40868c ffffffc0
[  257.776497] bb00: 00000000 00000000 010ec0d8 ffffffc0 5d7dbb30 ffffffc0 0110488c ffffffc0
[  257.784604] bb20: 00000026 00000000 00000026 00000000 5d7dbb50 ffffffc0 01084534 ffffffc0
[  257.792712] bb40: 01c72000 ffffffc0 0108451c ffffffc0 5d7dbb80 ffffffc0 01081420 ffffffc0
[  257.800819] bb60: 01c88000 ffffffc0 0000400c ffffff80 5d7dbbb0 ffffffc0 00004010 ffffff80
[  257.808927] bb80: 5d7dbcd0 ffffffc0 01083dac ffffffc0 00000140 00000000 02147788 ffffffc0
[  257.817034] bba0: 5d7dbcd0 ffffffc0 01880ec8 ffffffc0 0000261d 00000000 00000140 00000000
[  257.825142] bbc0: 00000000 00000000 010eb30c ffffffc0 39085d68 00000019 00000001 00000000
[  257.833250] bbe0: 00000000 00000000 00000015 00000000 5d7c92b0 ffffffc0 5d7dbc00 ffffffc0
[  257.841357] bc00: 01890cc0 ffffffc0 01c87ce0 ffffffc0 6c805153 147108dd 72526000 00000000
[  257.849464] bc20: 00000000 00000000 8ed90cc0 0000007f 8ec9d978 0000007f 00412020 00000000
[  257.857572] bc40: 00000a03 00000000 00000140 00000000 02147788 ffffffc0 02146000 ffffffc0
[  257.865679] bc60: 74199700 ffffffc0 00000000 00000000 01d54ce8 ffffffc0 5d7d8000 ffffffc0
[  257.873787] bc80: 00000000 00000000 01d55570 ffffffc0 00000000 00000000 5d7dbcd0 ffffffc0
[  257.881894] bca0: 010fa164 ffffffc0 5d7dbcd0 ffffffc0 01880ec8 ffffffc0 60000145 00000000
[  257.890002] bcc0: 738d3d80 ffffffc0 010ca23c ffffffc0 5d7dbcf0 ffffffc0 010fa164 ffffffc0
[  257.898109] bce0: 02147788 ffffffc0 02147000 ffffffc0 5d7dbd20 ffffffc0 016b7af8 ffffffc0
[  257.906217] bd00: 00000074 00000000 016b7ae8 ffffffc0 00000074 00000000 00000140 00000000
[  257.914324] bd20: 5d7dbd40 ffffffc0 016b7c64 ffffffc0 0214c000 ffffffc0 01880f2c ffffffc0
[  257.922432] bd40: 5d7dbd70 ffffffc0 010caa58 ffffffc0 02147708 ffffffc0 5d7a5a00 ffffffc0
[  257.930539] bd60: 7419d900 ffffffc0 74199700 ffffffc0 5d7dbdd0 ffffffc0 010cb9b0 ffffffc0
[  257.938647] bd80: 5d7a5a00 ffffffc0 5d7a5a30 ffffffc0 74199718 ffffffc0 74199700 ffffffc0
[  257.946754] bda0: 5d7d8000 ffffffc0 01d54ce8 ffffffc0 01a96708 ffffffc0 00000009 00000000
[  257.954862] bdc0: 74199700 ffffffc0 010cbb14 ffffffc0 5d7dbe30 ffffffc0 010d24fc ffffffc0
[  257.962969] bde0: 5d7a5a80 ffffffc0 01d5fa88 ffffffc0 01a93710 ffffffc0 5d7a5a00 ffffffc0
[  257.971077] be00: 010cb86c ffffffc0 00000000 00000000 00000000 00000000 00000000 00000000
[  257.979184] be20: 00000000 00000000 5d7a5a00 ffffffc0 00000000 00000000 010843b0 ffffffc0
[  257.987292] be40: 010d2420 ffffffc0 5d7a5a80 ffffffc0 00000000 00000000 00000000 00000000
[  257.995399] be60: 00000000 00000000 5ac67283 0eeee872 5d7dbeb0 ffffffc0 00000000 00000000
[  258.003507] be80: 74199f00 ffffffc0 5d7a5a00 ffffffc0 00000000 00000000 00000000 00000000
[  258.011614] bea0: 5d7dbea0 ffffffc0 5d7dbea0 ffffffc0 00000000 00000000 00000000 ffffffc0
[  258.019722] bec0: 5d7dbec0 ffffffc0 5d7dbec0 ffffffc0 00000000 00000000 00000000 00000000
[  258.027829] bee0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  258.035937] bf00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  258.044044] bf20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  258.052151] bf40: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  258.060259] bf60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  258.068367] bf80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  258.076474] bfa0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  258.084582] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000005 00000000
[  258.092689] bfe0: 00000000 00000000 00000000 00000000 c8af75de f7d25c2c a5ea5de8 7ae8d118
[  258.100794] Call trace:
[  258.103736] [<ffffffc0016bfa54>] vf_get_provider_name+0x4c/0x104
[  258.109163] [<ffffffc0016c02e0>] vf_peek+0x20/0x54
[  258.113907] [<ffffffc0016bb660>] timer_irq+0xa4/0x1f4
[  258.118912] [<ffffffc001105340>] handle_irq_event_percpu+0x98/0x2c4
[  258.125119] [<ffffffc0011055bc>] handle_irq_event+0x50/0x7c
[  258.130640] [<ffffffc001108ac8>] handle_fasteoi_irq+0xa4/0x140
[  258.136418] [<ffffffc00110488c>] generic_handle_irq+0x3c/0x54
[  258.142111] [<ffffffc001084534>] handle_IRQ+0x50/0xcc
[  258.147113] [<ffffffc001081420>] gic_handle_irq+0x44/0x88
[  258.152459] Exception stack(0xffffffc05d7dbb90 to 0xffffffc05d7dbcb0)
[  258.158842] bb80:                                     00000140 00000000 02147788 ffffffc0
[  258.166951] bba0: 5d7dbcd0 ffffffc0 01880ec8 ffffffc0 0000261d 00000000 00000140 00000000
[  258.175058] bbc0: 00000000 00000000 010eb30c ffffffc0 39085d68 00000019 00000001 00000000
[  258.183166] bbe0: 00000000 00000000 00000015 00000000 5d7c92b0 ffffffc0 5d7dbc00 ffffffc0
[  258.191273] bc00: 01890cc0 ffffffc0 01c87ce0 ffffffc0 6c805153 147108dd 72526000 00000000
[  258.199380] bc20: 00000000 00000000 8ed90cc0 0000007f 8ec9d978 0000007f 00412020 00000000
[  258.207488] bc40: 00000a03 00000000 00000140 00000000 02147788 ffffffc0 02146000 ffffffc0
[  258.215596] bc60: 74199700 ffffffc0 00000000 00000000 01d54ce8 ffffffc0 5d7d8000 ffffffc0
[  258.223703] bc80: 00000000 00000000 01d55570 ffffffc0 00000000 00000000 5d7dbcd0 ffffffc0
[  258.231809] bca0: 010fa164 ffffffc0 5d7dbcd0 ffffffc0
[  258.236812] [<ffffffc001083dac>] el1_irq+0x6c/0xd8
[  258.241558] [<ffffffc0010fa164>] up+0x68/0x74
[  258.245869] [<ffffffc0016b7af8>] trigger_pre_di_process.part.16+0x60/0xb8
[  258.252596] [<ffffffc0016b7c64>] di_timer_handle+0xdc/0x168
[  258.258117] [<ffffffc0010caa58>] process_one_work+0x148/0x490
[  258.263808] [<ffffffc0010cb9b0>] worker_thread+0x144/0x3d0
[  258.269244] [<ffffffc0010d24fc>] kthread+0xdc/0xf0
[  258.273986] Code: 9100075a 8b1a0eba 14000004 910022b5 (eb1a02bf) 
[  258.280025] ---[ end trace d5a001444c4a18a9 ]---
[  258.284594] Kernel panic - not syncing: Fatal exception in interrupt
I am going to compile up a single cpu kernel with basic memory settings to see if there is any stability improvement on 1 cpu.

Post Reply

Return to “Issues”

Who is online

Users browsing this forum: No registered users and 1 guest