[PATCH 1/4] arm64: topology: Implement basic CPU topology support
Lorenzo Pieralisi
lorenzo.pieralisi at arm.com
Fri Feb 21 10:01:40 EST 2014
On Mon, Feb 10, 2014 at 01:02:01PM +0000, Mark Brown wrote:
[...]
> +void store_cpu_topology(unsigned int cpuid)
> +{
> + struct cpu_topology *cpuid_topo = &cpu_topology[cpuid];
> +
> + /* DT should have been parsed by the time we get here */
> + if (cpuid_topo->core_id == -1)
> + pr_info("CPU%u: No topology information configured\n", cpuid);
> + else
> + update_siblings_masks(cpuid);
If the DT does not contain a proper topology the scheduler seem to go for a
toss. I tried to track it down and it seems it expects topology cpumasks to be
initialized regardless (eg to possible mask), they cannot be left empty.
Either update_siblings_masks is called regardless or possible mask must
be copied to the topology masks.
I will have a thorough look to check if the scheduler has a fall-back
mechanism.
On top of that, the pr_info message is quite annoying and should be
probably downgraded or removed altogether.
Furthermore leaving core_id as -1 should be fine, but I have to have a
proper look into the scheduler topology code to countercheck that.
Lorenzo
More information about the linux-arm-kernel
mailing list