Subject: Re: [RFC PATCH v2 4/4] arm64: Export id_aar64fpr0 via sysfs

From: Catalin Marinas <[email-masked]>
Date: Thu, 22 Oct 2020 09:16:24 +0100

On Wed, Oct 21, 2020 at 09:26:27PM +0100, Will Deacon wrote:
> On Wed, Oct 21, 2020 at 08:57:36PM +0100, Qais Yousef wrote:
> > On 10/21/20 18:23, Will Deacon wrote:
> > > On Wed, Oct 21, 2020 at 05:07:30PM +0100, Qais Yousef wrote:
> > > > > > For example, the new sysctl_enable_asym_32bit could be a cpumask instead of
> > > > > > a bool as it currently is. Or we can make it a cmdline parameter too.
> > > > > > In both cases some admin (bootloader or init process) has to ensure to fill it
> > > > > > correctly for the target platform. The bootloader should be able to read the
> > > > > > registers to figure out the mask. So more weight to make it a cmdline param.
> > > > > 
> > > > > I think this is adding complexity for the sake of it. I'm much more in
> > > > 
> > > > I actually think it reduces complexity. No special ABI to generate the mask
> > > > from the kernel. The same opt-in flag is the cpumask too.
> > > 
> > > Maybe I'm misunderstanding your proposal but having a cpumask instead of
> > 
> > What I meant is that if we change the requirement to opt-in from a boolean
> > switch
> > 
> > 	sysctl.enable_32bit_asym=1
> > 
> > to require the bootloader/init scripts provide the mask of aarch32 capable cpus
> > 
> > 	sysctl.asym_32bit_cpus=0xf0
[...]
> > 	* We don't need a separate API to export which cpus are 32bit capable.
> > 	  They can read it directly from /proc/sys/kernel/asym_32bit_cpus.
> > 	  When it's 0 it means the system is not asymmetric.
> 
> I don't see how this is better than a separate cpumask for this purpose.
> It feels like you're trying to overload the control and the identification,
> but that just makes things confusing and hard to use as I now need to know
> which logical CPUs correspond to which physical CPUs in order to set the
> command-line.

I agree. Let's leave the identification to the kernel as it has access
to the CPUID registers and can provide the cpumask. The control in this
case doesn't need to be more than a boolean and its meaning is that the
user knows what it is doing.

-- 
Catalin

_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel