Messages in this thread | | | Date | Tue, 30 Jun 2015 07:18:00 +0200 | From | Ingo Molnar <> | Subject | Re: [all better] Re: regression: massive trouble with fpu rework |
| |
* H. Peter Anvin <hpa@zytor.com> wrote:
> On 06/28/2015 11:40 PM, Ingo Molnar wrote: > > > > Ok, so could you please move the fpu__init_system() further up and see which > > position is that starts breaking with the BIOS option set? > > > > here's the current, broken layout of the code: > > > > get_cpu_cap(c); > > [0] fpu__init_system(c); > > > > if (this_cpu->c_early_init) > > this_cpu->c_early_init(c); > > > > [1] > > c->cpu_index = 0; > > [2] > > filter_cpuid_features(c, false); > > > > [3] > > if (this_cpu->c_bsp_init) > > this_cpu->c_bsp_init(c); > > > > [4] > > setup_force_cpu_cap(X86_FEATURE_ALWAYS); > > [5] > > } > > > > and we know it from your testing that moving [0] to [5] fixes the crash. > > > > The question is, can we move it to [4], [3], [2] or even [1] instead, without > > breaking the system? > > > > I still don't see where the breakage comes from, but this would help us narrow it > > down. > > > > It should be moved to [4] or [5]. I would argue that the line setting > X86_FEATURE_ALWAYS should moved up and then fpu__init_system(c) should > be moved after the c_bsp_init() line.
Yeah, so the patch I sent to Mike (and which solved the bug) moved it to [5].
Thanks,
Ingo
| |