Hi -
We're using one kernel binary with BL Switcher enabled in config, but
able to work on SoC without Big Little.
This is OK except where the BL patches touch the PMU driver. It makes
an assumption about BL configured == in use which is not true. PMU init
fails and when you try to use perf list later, it blows chunks.
I worked around it with the hack below, so it can fail out from the
bigLITTLE path when it doesn't see the cluster property in DT, but
there's presumably a better way to do that which more directly checks if
we care about BL in this execution environment.
-Andy
Author: Andy Green <andy.gr...@linaro.org>
Date: Thu May 30 09:44:17 2013 +0800
bl switcher fix dont assume bl active in pmu probe
Signed-off-by: Andy Green <andy.gr...@linaro.org>
diff --git a/arch/arm/kernel/perf_event_cpu.c
b/arch/arm/kernel/perf_event_cpu.c
index b3ae24f..c02ea21 100644
--- a/arch/arm/kernel/perf_event_cpu.c
+++ b/arch/arm/kernel/perf_event_cpu.c
@@ -440,6 +440,9 @@ static int cpu_pmu_device_probe(struct
platform_device *pdev)
hwid = of_get_property(ncluster, "reg", &len);
if (hwid && len == 4)
cluster = be32_to_cpup(hwid);
+ } else {
+ ret = probe_current_pmu(pmu);
+ goto bail;
}
/* set sibling mask to all cpu mask if socket is not
specified */
/*
@@ -501,7 +504,7 @@ static int cpu_pmu_device_probe(struct
platform_device *pdev)
} else {
ret = probe_current_pmu(pmu);
}
-
+bail:
if (ret)
goto error;
--
Andy Green | Fujitsu Landing Team Leader
Linaro.org │ Open source software for ARM SoCs | Follow Linaro
http://facebook.com/pages/Linaro/155974581091106 -
http://twitter.com/#!/linaroorg - http://linaro.org/linaro-blog
_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev