Hi Valentin, Thanks for the review. On Thu, Nov 19, 2020 at 11:27:41AM +0000, Valentin Schneider wrote: > > On 13/11/20 09:37, Will Deacon wrote: > > +const struct cpumask *system_32bit_el0_cpumask(void) > > +{ > > + if (!system_supports_32bit_el0()) > > + return cpu_none_mask; > > + > > + if (static_branch_unlikely(&arm64_mismatched_32bit_el0)) > > + return cpu_32bit_el0_mask; > > + > > + return cpu_present_mask; > > +} > > Nit: this is used in patch 13 to implement arch_cpu_allowed_mask(). Since > that latter defaults to cpu_possible_mask, this probably should too. My original thinking was that, in a system where 32-bit EL0 support is detected at boot and we're not handling mismatches, then it would be nice to avoid saying that late CPUs are all 32-bit capable given that they will fail to be onlined if they're not. However, the reality is that we don't currently distinguish between the present and possible masks on arm64 so it doesn't make any difference. It's also not useful to userspace, because if the cores aren't online then so what? Your observation above is another nail in the coffin, so I'll change this to the possible mask as you suggest. Cheers, Will