public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <bp@alien8.de>
To: Ingo Molnar <mingo@kernel.org>
Cc: Mike Galbraith <umgwanakikbuti@gmail.com>,
	Ingo Molnar <mingo@elte.hu>, LKML <linux-kernel@vger.kernel.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Andy Lutomirski <luto@kernel.org>,
	Denys Vlasenko <dvlasenk@redhat.com>,
	Oleg Nesterov <oleg@redhat.com>, Dave Hansen <dave@sr71.net>
Subject: Re: [all better] Re: regression: massive trouble with fpu rework
Date: Mon, 29 Jun 2015 11:57:45 +0200	[thread overview]
Message-ID: <20150629095745.GE12383@pd.tnic> (raw)
In-Reply-To: <20150629093504.GA20600@gmail.com>

On Mon, Jun 29, 2015 at 11:35:04AM +0200, Ingo Molnar wrote:
> I wish that 'unmasking' logic came with more comments:
> 
>   - Why do BIOSen ever mask CPUIDs?

Doesn't say a thing why:

066941bd4eeb ("x86: unmask CPUID levels on Intel CPUs")

SDM doesn't say why either:

"Limit CPUID Maxval (R/W)

When this bit is set to 1, CPUID.00H returns a maximum value in EAX[7:0]
of 3. BIOS should contain a setup question that allows users to specify
when the installed OS does not support CPUID functions greater than 3.

...

Setting this bit may cause unexpected behavior in software that depends
on the availability of CPUID leaves greater than 3."

In the case of hiding XSAVE from windoze ninety-old, probably something
was exploding there, there wasn't a fix to the software so the hardware
had to become soft.

Purely hypothetical, of course.

The last sentence from the SDM quote above also explains why the Linux
workaround of clearing that bit again, exists.

>   - Why do we unmask the masking?

Also purely hypothetical: because Linux doesn't have the windoze
problem.

>   - Why doesn't the kernel keep on working just fine even if certain
>   CPUID aspects are turned off?

I guess that should be doable but one has to get such a box, enable
that BIOS feature and fix all the fallout that happens. Provided it
can be fixed. hpa went and reenabled those CPUID leafs instead in
066941bd4eeb1.

I guess we simply shouldn't do any CPUID-dependent stuff before:

        if (this_cpu->c_early_init)
                this_cpu->c_early_init(c);

and slap a big fat comment above it.

-- 
Regards/Gruss,
    Boris.

ECO tip #101: Trim your mails when you reply.
--

  reply	other threads:[~2015-06-29  9:58 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-27  6:25 regression: massive trouble with fpu rework Mike Galbraith
2015-06-27  8:18 ` [all better] " Mike Galbraith
2015-06-27  8:25   ` Ingo Molnar
2015-06-27  8:55     ` Mike Galbraith
2015-06-27  9:37       ` Borislav Petkov
2015-06-27 11:01         ` Mike Galbraith
2015-06-27 21:02       ` Henrique de Moraes Holschuh
2015-06-28  3:11         ` Mike Galbraith
2015-06-28 15:06           ` Henrique de Moraes Holschuh
2015-06-28 15:39             ` Mike Galbraith
2015-06-29  1:12               ` Henrique de Moraes Holschuh
2015-06-29  6:40       ` Ingo Molnar
2015-06-29  8:25         ` Mike Galbraith
2015-06-29  8:33           ` Borislav Petkov
2015-06-29  8:41             ` Mike Galbraith
2015-06-29  9:35             ` Ingo Molnar
2015-06-29  9:57               ` Borislav Petkov [this message]
2015-06-29 19:48               ` H. Peter Anvin
2015-06-30  5:14                 ` Ingo Molnar
2015-06-29 12:27             ` Mike Galbraith
2015-06-29 13:09               ` Borislav Petkov
2015-06-30  5:16                 ` Ingo Molnar
2015-06-30 20:22                   ` H. Peter Anvin
2015-07-09 13:13                   ` Henrique de Moraes Holschuh
2015-06-29 19:50         ` H. Peter Anvin
2015-06-30  5:18           ` Ingo Molnar
2015-06-30  5:24     ` [tip:x86/urgent] x86/fpu: Fix FPU related boot regression when CPUID masking BIOS feature is enabled tip-bot for Ingo Molnar
2015-06-27  8:18 ` regression: massive trouble with fpu rework Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150629095745.GE12383@pd.tnic \
    --to=bp@alien8.de \
    --cc=dave@sr71.net \
    --cc=dvlasenk@redhat.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mingo@elte.hu \
    --cc=mingo@kernel.org \
    --cc=oleg@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=umgwanakikbuti@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox