public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Raj, Ashok" <ashok.raj@intel.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Johannes Erdfelt <johannes@erdfelt.com>,
	Borislav Petkov <bp@alien8.de>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Mihai Carabas <mihai.carabas@oracle.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
	Jon Grimm <Jon.Grimm@amd.com>,
	kanth.ghatraju@oracle.com, konrad.wilk@oracle.com,
	patrick.colp@oracle.com, Tom Lendacky <thomas.lendacky@amd.com>,
	x86-ml <x86@kernel.org>,
	linux-kernel@vger.kernel.org, Ashok Raj <ashok.raj@intel.com>
Subject: Re: [PATCH] x86/microcode: Add an option to reload microcode even if revision is unchanged
Date: Mon, 16 Sep 2019 17:31:22 -0700	[thread overview]
Message-ID: <20190917003122.GA3005@otc-nc-03> (raw)
In-Reply-To: <alpine.DEB.2.21.1909161227060.10731@nanos.tec.linutronix.de>

On Mon, Sep 16, 2019 at 12:36:11PM +0200, Thomas Gleixner wrote:
> > On Fri, 6 Sep 2019, Raj, Ashok wrote:
> > > On Fri, Sep 06, 2019 at 11:16:00PM +0200, Thomas Gleixner wrote:
> > > > Now #1 is actually a sensible and feasible solution which can be pulled off
> > > > in a reasonably short time frame, avoids all the bound to be ugly and
> > > > failure laden attempts of fixing late loading completely and provides a
> > > > usable and safe solution for joe user, jack admin and the super experts at
> > > > big-cloud corporate.
> > > > 
> > > > That is not requiring any new format of microcode payload, as this can be
> > > > nicely done as a metadata package which comes with the microcode
> > > > payload. So you get the following backwards compatible states:
> > > > 
> > > >   Kernel  metadata	  result
> > > > 
> > > >   old	  don't care	  refuse late load
> > > > 
> > > >   new	  No   		  refuse late load
> > > > 
> > > >   new	  Yes		  decide based on metadata
> > > > 
> > > > Thoughts?
> > > 
> > > This is 100% in line with what we proposed... 
> > 
> > So what it hindering you to implement that? ucode teams whining about the
> > little bit of extra work?
> 
> That said, there is also a distinct lack of information about micro code
> loading in a safe way in general. We absolutely do not know whether a micro
> code update affects any instruction which might be in use during the update
> on a sibling. Right now it's all load and pray and the SDM is not really
> helpful with that either.
> 

Guilty as charged :-). In general we do not expect microcode updates to 
remove any cpuid bits (Not that it hasn't happened, but it slipped through
the cracks). 

microode updates should be of 3 types.

- Only loadable from BIOS (Only via FIT tables)
- Suitable for early load (things that take cpuid bits for e.g.)
- Suitable for late-load. (Where no cpuid bits should change etc).

Today the way we load after a stop_machine() all threads in the system are
held hostage until all the cores have done the update. The thread sibling
is also in the rendezvous loop. 

Do you think we still have that risk with a sibling thread? 
(Assuming future ucodes don't do weird things like what happened in 
that case where a cpuid was removed via an update)

Cheers,
Ashok

  reply	other threads:[~2019-09-17  0:32 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-29  5:33 [PATCH] x86/microcode: Add an option to reload microcode even if revision is unchanged Ashok Raj
2019-08-29  5:38 ` Raj, Ashok
2019-08-29  6:09 ` Borislav Petkov
2019-08-29 13:02   ` Raj, Ashok
2019-09-03 16:46     ` Borislav Petkov
2019-09-04 22:06       ` Boris Ostrovsky
2019-09-04 22:12         ` Boris Petkov
2019-09-05  0:21           ` Raj, Ashok
2019-09-05  7:20             ` Borislav Petkov
2019-09-05 10:51               ` Thomas Gleixner
2019-09-05 19:40               ` Raj, Ashok
2019-09-05 19:49                 ` Borislav Petkov
2019-09-05 20:20                   ` Raj, Ashok
2019-09-05 21:22                 ` Thomas Gleixner
2019-09-05 22:27                   ` Raj, Ashok
2019-09-06  7:46                     ` Borislav Petkov
2019-09-06 12:51                     ` Thomas Gleixner
2019-09-06 14:40                       ` Johannes Erdfelt
2019-09-06 15:16                         ` Borislav Petkov
2019-09-06 15:46                           ` Johannes Erdfelt
2019-09-06 16:17                             ` Borislav Petkov
2019-09-06 16:43                               ` Konrad Rzeszutek Wilk
2019-09-06 17:10                                 ` Borislav Petkov
2019-09-06 16:52                               ` Johannes Erdfelt
2019-09-06 17:17                                 ` Borislav Petkov
2019-09-06 21:16                         ` Thomas Gleixner
2019-09-07  0:33                           ` Raj, Ashok
2019-09-07 10:37                             ` Thomas Gleixner
2019-09-16 10:36                               ` Thomas Gleixner
2019-09-17  0:31                                 ` Raj, Ashok [this message]
2019-09-17  6:37                                   ` Thomas Gleixner
2019-09-17  6:46                                     ` Borislav Petkov
2019-09-17 14:29                                     ` Raj, Ashok
2019-09-19 19:48                           ` Mihai Carabas
2019-09-06 16:55                       ` Raj, Ashok

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=20190917003122.GA3005@otc-nc-03 \
    --to=ashok.raj@intel.com \
    --cc=Jon.Grimm@amd.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=bp@alien8.de \
    --cc=hpa@zytor.com \
    --cc=johannes@erdfelt.com \
    --cc=kanth.ghatraju@oracle.com \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mihai.carabas@oracle.com \
    --cc=mingo@redhat.com \
    --cc=patrick.colp@oracle.com \
    --cc=tglx@linutronix.de \
    --cc=thomas.lendacky@amd.com \
    --cc=x86@kernel.org \
    /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