I have a question:
The following fragment from arch/arm64/kernel/topology.c prints an error for all CPU's on the HiKey.
rate = of_get_property(cn, "clock-frequency", &len); if (!rate || len != 4) { pr_err("%s: Missing clock-frequency property\n", cn->full_name); continue; }
This doesn't seem to be fatal, and Juno and other platforms do not seem to have it set. If that is the case, why is it an error, rather than a warning? Also if no one uses it why check for it at all? Backwards compatibility with other architectures?
Scott
On 16 April 2015 at 19:50, Scott Bambrough scott.bambrough@linaro.org wrote:
I have a question:
The following fragment from arch/arm64/kernel/topology.c prints an error for all CPU's on the HiKey.
rate = of_get_property(cn, "clock-frequency", &len); if (!rate || len != 4) { pr_err("%s: Missing clock-frequency property\n", cn->full_name); continue; }
This doesn't seem to be fatal, and Juno and other platforms do not seem to have it set. If that is the case, why is it an error, rather than a warning? Also if no one uses it why check for it at all? Backwards compatibility with other architectures?
Git blame says the code is from:
9d3630b3919954ad100ce155cc8cbdd7f0729600 Author: Mark Brown broonie@linaro.org arm64: topology: Tell the scheduler about the relative power of cores
Similar patch doesn't appear in mainline, so I think no point worrying about it. Probably related to the big.LITTLE code in linux-linaro.
Riku
On Thu, Apr 16, 2015 at 10:20 PM, Scott Bambrough scott.bambrough@linaro.org wrote:
I have a question:
The following fragment from arch/arm64/kernel/topology.c prints an error for all CPU's on the HiKey.
rate = of_get_property(cn, "clock-frequency", &len); if (!rate || len != 4) { pr_err("%s: Missing clock-frequency property\n", cn->full_name); continue; }
This doesn't seem to be fatal, and Juno and other platforms do not seem to have it set. If that is the case, why is it an error, rather than a warning? Also if no one uses it why check for it at all? Backwards compatibility with other architectures?
Sounds like Mark's documentation patch[1] for this should be revived. This has come up twice in a week now :)
[1] https://lists.linaro.org/pipermail/linaro-kernel/2013-December/009484.html
On 17 April 2015 at 07:19, Amit Kucheria amit.kucheria@linaro.org wrote:
On Thu, Apr 16, 2015 at 10:20 PM, Scott Bambrough scott.bambrough@linaro.org wrote:
I have a question:
The following fragment from arch/arm64/kernel/topology.c prints an error
for
all CPU's on the HiKey.
rate = of_get_property(cn, "clock-frequency", &len); if (!rate || len != 4) { pr_err("%s: Missing clock-frequency property\n", cn->full_name); continue; }
This doesn't seem to be fatal, and Juno and other platforms do not seem
to
have it set. If that is the case, why is it an error, rather than a warning? Also if no one uses it why check for it at all? Backwards compatibility with other architectures?
Sounds like Mark's documentation patch[1] for this should be revived. This has come up twice in a week now :)
[1] https://lists.linaro.org/pipermail/linaro-kernel/2013-December/009484.html
Note that this only happens on LSK, not in mainline - mainline misses all the code for CPU cluster capacity scaling.
hi Mark,
On Fri, Apr 17, 2015 at 09:50:59AM +0100, Mark Brown wrote:
On 17 April 2015 at 07:19, Amit Kucheria amit.kucheria@linaro.org wrote:
On Thu, Apr 16, 2015 at 10:20 PM, Scott Bambrough scott.bambrough@linaro.org wrote:
I have a question:
The following fragment from arch/arm64/kernel/topology.c prints an error
for
all CPU's on the HiKey.
rate = of_get_property(cn, "clock-frequency", &len); if (!rate || len != 4) { pr_err("%s: Missing clock-frequency property\n", cn->full_name); continue; }
This doesn't seem to be fatal, and Juno and other platforms do not seem
to
have it set. If that is the case, why is it an error, rather than a warning? Also if no one uses it why check for it at all? Backwards compatibility with other architectures?
Sounds like Mark's documentation patch[1] for this should be revived. This has come up twice in a week now :)
[1] https://lists.linaro.org/pipermail/linaro-kernel/2013-December/009484.html
Note that this only happens on LSK, not in mainline - mainline misses all the code for CPU cluster capacity scaling.
When i go through the code and found here is not alignment b/t arm and arm64; arch/arm/kernel/topology.c implements the function *arch_scale_cpu_capacity()*; in the file arch/arm64//kernel/topology.c, it only implements *arch_scale_freq_power()*, this API will not be called by scheduler anymore. i'm a little confusing about this, could u help point out if i miss something?
I confirmed two code bases to confirm upper code section: [1] git://git.linaro.org/kernel/linux-linaro-tracking.git, branch: linux-linaro; [2] https://github.com/96boards/linux, branch: hikey;
Thanks, Leo Yan
On 20 April 2015 at 12:10, Leo Yan leo.yan@linaro.org wrote:
When i go through the code and found here is not alignment b/t arm and arm64; arch/arm/kernel/topology.c implements the function *arch_scale_cpu_capacity()*; in the file arch/arm64//kernel/topology.c, it only implements *arch_scale_freq_power()*, this API will not be called by scheduler anymore. i'm a little confusing about this, could u help point out if i miss something?
There's been a change in the API name upstream, it's the same function with a different name.
linaro-kernel@lists.linaro.org