Comment 4 for bug 1027203

Revision history for this message
Naresh Kamboju (naresh-kamboju) wrote : Re: [Bug 1027203] Re: cache-coherency test failed. Abort!! while bigLITTLE test execution on Fastmodel

Hi Nicolas,

On 4 August 2012 09:05, Nicolas Pitre <email address hidden> wrote:

> Here's what I found so far:
>
> - The bug apparently doesn't affect the Ubuntu build. So I tried
> a kernel without the Android patches (the Android user space isn't
> all happy about it but the shell is working) and the test still fails.
> At least this rules out Android kernel changes.
>
> - Then I hacked the cpufreq driver to let user space believe switch
> requests were honored but without doing any switching using this
> patch:
>
> diff --git a/drivers/cpufreq/arm-bl-cpufreq.c
> b/drivers/cpufreq/arm-bl-cpufreq.c
> index 85e1bb0519..14e62d9866 100644
> --- a/drivers/cpufreq/arm-bl-cpufreq.c
> +++ b/drivers/cpufreq/arm-bl-cpufreq.c
> @@ -106,9 +106,13 @@ static void __get_current_cluster(void *_data)
>
> static int get_current_cluster(unsigned int cpu)
> {
> +#if 0
> unsigned int cluster = 0;
> smp_call_function_single(cpu, __get_current_cluster, &cluster, 1);
> return cluster;
> +#else
> + return per_cpu(cpu_cur_cluster, cpu);
> +#endif
> }
>
> static int get_current_cached_cluster(unsigned int cpu)
> @@ -143,7 +147,7 @@ static void switch_to_entry(unsigned int cpu,
> freqs.new = entry_to_freq(target);
>
> cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
> - bL_switch_request(cpu, new_cluster);
> + //bL_switch_request(cpu, new_cluster);
> per_cpu(cpu_cur_cluster, cpu) = new_cluster;
> cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
> }
>
> And then the test appears to work OK.
>
> OK.

> So... it seems that the difference between the Android user libraries
> and the Ubuntu user libraries is triggering the bug. However the bug
> appears only when real switching is taking place, indicating some
> remaining flaw with the switcher.
>
> Would it be possible to get a strace dump of the running test when
> running on Ubuntu vs Android?

please find attached strace log for Android and execution still in progress
for ubuntu.
I will share strace log on ubuntu soon.

Best regards
Naresh Kamboju

> Extracting syscalls differences between
> the two could help identify the problem. No need to switch at the same
> time therefore no need to use Fast Models for this.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1027203
>
> Title:
> cache-coherency test failed. Abort!! while bigLITTLE test execution on
> Fastmodel
>
> Status in Linaro big.LITTLE System:
> New
>
> Bug description:
> Android b.L switcher integrated image build 85 on July 20 is booted on
> Fastmodels and boot success and
> bigLITTLE testsuite has been given for test execution and following
> issues
> is reported.
>
> coretile.cache_state_modelled=0 disabled.
> and fast model used is RTSM_VE_Cortex-A15x4-A7x4
>
> #run_stress_switcher_tests.sh -a
> .
> .
> .
> Running stressapptest -M 16 --cc_test -s 10
> ***bl-agitator***
> CPU count: 4
> CPU0: big freq 1000000 LITTLE freq 100000
> CPU1: big freq 1000000 LITTLE freq 100000
> CPU2: big freq 1000000 LITTLE freq 100000
> CPU3: big freq 1000000 LITTLE freq 100000
> Random switcher seed 100 limit 1000
> Random switcher seed 100 limit 1000
> Random switcher seed 100 limit 1000
> cache-coherency test failed. Abort!!
>
> Kill bigLITTLE switcher
> Time elapsed: 0:00:10.1000
> Terminated because of SIG 15
> Test failed. Abort!!
> cache-coherency-switching : FAIL
>
> I have download pre-built images from below link to test BL test suite
> with this image on Fastmodels
>
> https://snapshots.linaro.org/android/~linaro-android-restricted
> /vexpress-rtsm-isw-ics-gcc47-armlt-stable-
> open/85/target/product/vexpress_rtsm/
>
> please find attached logs for more information.
>
> To manage notifications about this bug go to:
>
> https://bugs.launchpad.net/linaro-big-little-system/+bug/1027203/+subscriptions
>