ARM64: CPU Hotplug: can't enable more cpus than maxcpus value (kernel 4.5)
Mark Rutland
mark.rutland at arm.com
Thu Mar 3 07:12:01 PST 2016
On Thu, Mar 03, 2016 at 02:59:29PM +0000, Suzuki K. Poulose wrote:
> On 03/03/16 14:42, Mark Rutland wrote:
>
> >>However for arm64 it is implemented that cpu_present_mask is
> >>explicetely set accordingly to 'maxcpus' value. Is it design intent ?
> >
> >To some extent, yes.
> >
> >Due to the possibility of a heterogeneous system, we must bring all CPUs
> >online at boot time, and cannot defer this.
> >
> >This is necessary to detect the common subset of supported features, and
> >also to detect the full set of CPUs in the system to correctly apply
> >errata workarounds which require kernel text patching.
>
> We don't have this limitation anymore, as we can check if the booting CPU
> has any conflicting/missing features w.r.t the established set and fail the
> booting if it does.
While we do this, that's more of a last-ditch effort as opposed to a
general solution, and I'm not sure it's complete.
What happens when we online a CPU that we determine needs a new erratum
workaround applied? I didn't think we prohibited onlining in that case.
I guess maxcpus is effectively the same as physical CPU hotplug, and the
same caveats apply to both -- we can't reliably support either in the
general case.
Thanks,
Mark.
More information about the linux-arm-kernel
mailing list