cache-coherency-switching: failed on TC2
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linaro big.LITTLE |
Fix Released
|
Undecided
|
David Zinman |
Bug Description
I have ported core-test suite on TC2 and started executing tests on it.
while executing the test i have noticed that test cache-coherency
steps to reproduce:
root@android:/ # run_stress_
Linux kernel Version:
Linux version 3.7.0-rc6-
complete log can be found here:
https:/
i have pasted log here:
root@android:/ # run_stress_
Number of CPUs successfully brought up during boot = 2
Running cache-coherency
Switching to big mode if not already in.
Running /system/
cpu0 is big
Starting bigLITTLE random switcher in the background
spawning thread(s) on specified cpu(s)
Running stressapptest -M 16 --cc_test -s 10
***bl-agitator***
CPU count: 2
CPU0: big freq 2400000 LITTLE freq 350000
CPU1: big freq 2400000 LITTLE freq 350000
Random switcher seed 100 limit 1000
cpu1 scaling_setspeed target 350000 current 2400000... FAIL
error on iteration 4 period 396
Time elapsed: 0:00:04.055
cache-coherency test finished successfully
Kill bigLITTLE switcher BL_AGITATOR_PID 1214
PID_BL_CHECK=
bigLITTLE switcher not running. Report Error!!
cache-coherency
Summary ..
Total Tests = 1
Tests Passed = 0
Tests Failed = 1
root@android:/ # run_stress_
Number of CPUs successfully brought up during boot = 2
Running cache-coherency
Switching to big mode if not already in.
Running /system/
cpu0 is big
Starting bigLITTLE random switcher in the background
spawning thread(s) on specified cpu(s)
Running stressapptest -M 16 --cc_test -s 10
***bl-agitator***
CPU count: 2
CPU0: big freq 2400000 LITTLE freq 350000
CPU1: big freq 2400000 LITTLE freq 350000
Random switcher seed 100 limit 1000
[ 48.920776] warning: `zygote' uses 32-bit capabilities (legacy support in use)
cache-coherency test finished successfully
Kill bigLITTLE switcher BL_AGITATOR_PID 1286
PID_BL_CHECK= 1286
sending SIGTERM BL_AGITATOR_PID 1286
Time elapsed: 0:00:10.063
Terminated because of SIG 15
cache-coherency
Summary ..
Total Tests = 1
Tests Passed = 1
Tests Failed = 0
Changed in linaro-big-little-system: | |
assignee: | nobody → Naresh Kamboju (naresh-kamboju) |
Changed in linaro-big-little-system: | |
assignee: | Naresh Kamboju (naresh-kamboju) → David Zinman (dzinman) |
Changed in linaro-big-little-system: | |
status: | New → Fix Committed |
Changed in linaro-big-little-system: | |
status: | Fix Committed → Fix Released |
As per the investigation we have found that we need to add delay between write on to set_speed and read from cur_speed. ARM_BL_ CPUFREQ= y and disabled CONFIG_ ARM_VEXPRESS_ BL_CPUFREQ= y.
As a experimental purpose I have compiled kernel with CONFIG_
bl-agitator has been modified as below and All Test PASSED.
--- a/bl-agitator/ bl-agitator. c bl-agitator. c frequency( struct bl_properties blp, char *frequency)
+++ b/bl-agitator/
@@ -302,6 +302,7 @@ static int bl_set_
/* TODO: consider cpuinfo_
+ usleep(10000);
curr_freq = strtoul(curr, NULL, 0);