Re: [patch 17/17] x86/fpu: Move FPU initialization into arch_cpu_finalize_init()

Nikolay Borisov
2023-09-01T18:00:41Z

On 1.09.23 г. 20:30 ч., Guenter Roeck wrote:
> Hi,
>
> On Wed, Jun 14, 2023 at 01:39:46AM +0200, Thomas Gleixner wrote:
>> Initializing the FPU during the early boot process is a pointless
>> exercise. Early boot is convoluted and fragile enough.
>>
>> Nothing requires that the FPU is set up early. It has to be initialized
>> before fork_init() because the task_struct size depends on the FPU register
>> buffer size.
>>
>> Move the initialization to arch_cpu_finalize_init() which is the perfect
>> place to do so.
>>
>> No functional change.
>>
>> This allows to remove quite some of the custom early command line parsing,
>> but that's subject to the next installment.
>>
>> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
>
> The backport of this patch into chromeos-5.10 and chromeos-5.15 via stable
> relase merges is causing various Chromebooks (not all of them) to crash
> early during boot. Subsequent fixes have not addressed the problem for us,
> so we already reverted the patch from chromeos-5.15 and will revert it
> from chromeos-5.10 as well.
>
> I don't know if this is a Chromebook specific problem, or if it affects
> mainline, so this is just a heads-up in case others experience similar
> problems.

Looking at 5.15 the following prerequisites are likely missing:

af8060279968 ("mm: Move mm_cachep initialization to mm_init()")
5b93a83649c7 ("x86/mm: Initialize text poking earlier")

Can you test with those patches backported to 5.15.y and see if it works?
>
> Thanks,
> Guenter