From: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
To: Borislav Petkov <bp@amd64.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
Stephane Eranian <eranian@google.com>,
Robert Richter <robert.richter@amd.com>,
Ingo Molnar <mingo@kernel.org>,
linux-kernel@vger.kernel.org, andi@firstfloor.org, mingo@elte.hu,
ming.m.lin@intel.com,
Andreas Herrmann <andreas.herrmann3@amd.com>,
Dimitri Sivanich <sivanich@sgi.com>,
Dmitry Adamushko <dmitry.adamushko@gmail.com>
Subject: Re: [PATCH] perf/x86: check ucode before disabling PEBS on SandyBridge
Date: Wed, 13 Jun 2012 09:36:49 -0300 [thread overview]
Message-ID: <20120613123649.GA26012@khazad-dum.debian.net> (raw)
In-Reply-To: <20120613065119.GB15661@aftab.osrc.amd.com>
On Wed, 13 Jun 2012, Borislav Petkov wrote:
> On Tue, Jun 12, 2012 at 10:04:13PM -0300, Henrique de Moraes Holschuh wrote:
> > On Tue, 12 Jun 2012, Borislav Petkov wrote:
> > > I'd guess this is still there to support mixed ucode revisions for some
> >
> > It is still there because of the stable ABI rules. As far as I can tell,
> > it was a crap interface when it got in, and it still is a crap interface
> > now because there simply isn't any sane usercase that requires it, it is
> > dangerous as implemented right now (at least in the Intel case), and even
> > if we fixed the kernel to do the right thing, userspace would not be able
> > to know that and would still need to request 1 microcode refresh per core.
>
> Well, I'm disabling it on AMD.
>
> We could make it iterate over _all_ cores and do the update on each one
> of them even though the user does a sysfs write only for a single core..
Yes, please. I suggest we use core 0 for that. Using my Debian
maintainer hat, I'd rather you got rid of the sysfs entries for every
other core while at it, as it will make our life a lot simpler,
distro-side.
This is still not the proper fix, which would be to add a new sysfs node
to access the proper update-every-core functionality, but it is a damn
good start in the right direction and required to make it safe without
ripping out the old ABI entirely without a deprecation period.
Since Intel processors don't want the per-core behaviour either, you
could fix it in the microcode core itself...
> > Perhaps we could make it work only for CPU 0 and return EBUSY or whatever
> > for all others (or just don't publish the sysfs attribute for the others),
> > and change the CPU0 refresh firmware request into a refresh all cores call.
>
> That could also work, it sounds like a sane thing to do having in mind
> the current sysfs layout. I will cook up something soonish.
>
> > We could then add a new sysfs attribute to cleanly do the
> > update-all-cores request.
>
> That's what Fenghua is doing.
Ok. Please CC me in the patches, if the new ABI arrives in time, I'll
even be able to get it supported on the next Debian stable (and push to
get this stuff backported to the kernel 3.2 which we will ship, I
consider this an important bug-fix to a pontentially very serious issue.
We have *zero* chance of finding out what's wrong if an users' system
start getting subtly crazy because it is running with skewed microcode
among cores.
--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh
next prev parent reply other threads:[~2012-06-13 12:36 UTC|newest]
Thread overview: 107+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-07 7:15 Stephane Eranian
2012-06-07 10:18 ` Peter Zijlstra
2012-06-07 10:35 ` Stephane Eranian
2012-06-07 10:45 ` Peter Zijlstra
2012-06-07 10:48 ` Stephane Eranian
2012-06-07 11:15 ` Peter Zijlstra
2012-06-08 9:35 ` Ingo Molnar
2012-06-08 10:00 ` Peter Zijlstra
2012-06-08 10:03 ` Stephane Eranian
2012-06-08 13:26 ` Peter Zijlstra
2012-06-08 13:51 ` Borislav Petkov
2012-06-08 13:54 ` Peter Zijlstra
2012-06-08 14:15 ` Borislav Petkov
2012-06-08 14:20 ` Peter Zijlstra
2012-06-08 14:36 ` Borislav Petkov
2012-06-08 14:45 ` Peter Zijlstra
2012-06-08 15:09 ` Borislav Petkov
2012-06-08 13:56 ` Peter Zijlstra
2012-06-08 14:03 ` Borislav Petkov
2012-06-08 13:59 ` Peter Zijlstra
2012-06-08 14:03 ` Stephane Eranian
2012-06-08 14:17 ` Borislav Petkov
2012-06-08 16:02 ` H. Peter Anvin
2012-06-08 21:02 ` Henrique de Moraes Holschuh
2012-06-08 21:16 ` Borislav Petkov
2012-06-08 14:07 ` Stephane Eranian
2012-06-08 14:13 ` Peter Zijlstra
2012-06-08 14:19 ` Borislav Petkov
2012-06-08 14:23 ` Peter Zijlstra
2012-06-08 14:26 ` Stephane Eranian
2012-06-08 14:25 ` Peter Zijlstra
2012-06-08 14:26 ` Stephane Eranian
2012-06-12 8:14 ` Stephane Eranian
2012-06-08 16:28 ` Stephane Eranian
2012-06-08 18:49 ` Peter Zijlstra
2012-06-08 16:50 ` Andi Kleen
2012-06-08 18:05 ` Borislav Petkov
2012-06-08 18:52 ` Peter Zijlstra
2012-06-08 20:38 ` Borislav Petkov
2012-06-12 17:07 ` Robert Richter
2012-06-12 17:09 ` Stephane Eranian
2012-06-12 17:13 ` Peter Zijlstra
2012-06-12 17:17 ` Borislav Petkov
2012-06-12 17:18 ` Peter Zijlstra
2012-06-12 17:23 ` Borislav Petkov
2012-06-12 17:26 ` Peter Zijlstra
2012-06-12 17:35 ` Borislav Petkov
2012-06-12 17:40 ` Peter Zijlstra
2012-06-12 18:04 ` Andi Kleen
2012-06-12 20:10 ` Borislav Petkov
2012-06-13 1:04 ` Henrique de Moraes Holschuh
2012-06-13 6:51 ` Borislav Petkov
2012-06-13 12:36 ` Henrique de Moraes Holschuh [this message]
2012-06-13 16:11 ` Borislav Petkov
2012-06-13 21:41 ` Henrique de Moraes Holschuh
2012-06-15 12:37 ` Borislav Petkov
2012-06-15 12:42 ` Peter Zijlstra
2012-06-15 12:52 ` Borislav Petkov
2012-06-15 16:52 ` [PATCH] x86, microcode: Make reload interface per system Borislav Petkov
2012-06-15 17:16 ` Peter Zijlstra
2012-06-15 17:49 ` Borislav Petkov
2012-06-19 2:46 ` Henrique de Moraes Holschuh
2012-06-19 3:31 ` H. Peter Anvin
2012-06-19 5:11 ` Borislav Petkov
2012-06-19 8:17 ` Peter Zijlstra
2012-06-19 10:22 ` Borislav Petkov
2012-06-19 10:26 ` Peter Zijlstra
2012-06-19 15:06 ` Borislav Petkov
2012-06-19 15:57 ` H. Peter Anvin
2012-06-19 18:22 ` Henrique de Moraes Holschuh
2012-06-19 20:22 ` H. Peter Anvin
2012-06-20 23:46 ` Henrique de Moraes Holschuh
2012-06-20 23:49 ` H. Peter Anvin
2012-06-21 0:06 ` Henrique de Moraes Holschuh
2012-06-21 0:18 ` H. Peter Anvin
2012-06-21 2:33 ` Henrique de Moraes Holschuh
2012-06-19 5:03 ` Borislav Petkov
2012-06-19 18:57 ` Henrique de Moraes Holschuh
2012-06-19 22:19 ` Borislav Petkov
2012-06-19 2:42 ` [PATCH] perf/x86: check ucode before disabling PEBS on SandyBridge Henrique de Moraes Holschuh
2012-06-12 17:23 ` Robert Richter
2012-06-12 17:15 ` Borislav Petkov
2012-06-07 13:28 ` Andi Kleen
2012-06-07 13:27 ` Andi Kleen
2012-06-12 18:35 ` H. Peter Anvin
2012-06-12 19:07 ` Borislav Petkov
2012-06-12 19:33 ` Peter Zijlstra
2012-06-12 19:35 ` Andi Kleen
2012-06-12 19:49 ` Borislav Petkov
2012-06-12 20:28 ` H. Peter Anvin
2012-06-12 20:37 ` Borislav Petkov
2012-06-12 20:42 ` H. Peter Anvin
2012-06-12 20:56 ` Borislav Petkov
2012-06-12 20:58 ` H. Peter Anvin
2012-06-12 21:04 ` Borislav Petkov
2012-06-13 8:38 ` Peter Zijlstra
2012-06-13 14:00 ` H. Peter Anvin
2012-06-13 15:37 ` Peter Zijlstra
2012-06-13 15:46 ` H. Peter Anvin
2012-06-13 12:39 ` Peter Zijlstra
2012-06-13 13:22 ` H. Peter Anvin
2012-06-13 14:01 ` Henrique de Moraes Holschuh
2012-06-13 8:32 ` Peter Zijlstra
2012-06-13 13:59 ` H. Peter Anvin
2012-06-13 15:32 ` Peter Zijlstra
2012-06-13 15:38 ` H. Peter Anvin
2012-06-12 20:27 ` H. Peter Anvin
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=20120613123649.GA26012@khazad-dum.debian.net \
--to=hmh@hmh.eng.br \
--cc=andi@firstfloor.org \
--cc=andreas.herrmann3@amd.com \
--cc=bp@amd64.org \
--cc=dmitry.adamushko@gmail.com \
--cc=eranian@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ming.m.lin@intel.com \
--cc=mingo@elte.hu \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=robert.richter@amd.com \
--cc=sivanich@sgi.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
all inboxes | Powered by JetHome®