Re: [PATCH] perf/x86: check ucode before disabling PEBS on SandyBridge

Borislav Petkov
2012-06-15T12:52:22Z

On Fri, Jun 15, 2012 at 02:42:41PM +0200, Peter Zijlstra wrote:
> On Fri, 2012-06-15 at 14:37 +0200, Borislav Petkov wrote:
> > This is a minimal fix which we'd like to see in stable too thus the
> > more-or-less arbitrary decision to allow system-wide reloading only on
> > the BSP:
> >
> > $ echo 1 > /sys/devices/system/cpu/cpu0/microcode/reload
> > ...
> >
> > and disable the interface on the other cores:
> >
> > $ echo 1 > /sys/devices/system/cpu/cpu23/microcode/reload
> > -bash: echo: write error: Invalid argument
>
> One could allow the reload from all cpus and simply do all cpus, but I
> guess the rationale for not doing that and restricting it to cpu0 is to
> avoid the O(n^2) thing in case userspace issues a reload on all cpus?

That's a good point.

Actually, the BSP thing was more-or-less an arbitrary deal. What we want as an
endresult is to do:

$ echo 1 > /sys/devices/system/cpu/microcode/reload

(notice this is in the toplevel "cpu" directory in sysfs)

and do the system-wide reload there.

Obviously, this needs a couple of more patches and we wanted to have a
simplest stable fix first.

> If so it would be good to mention in the Changelog so people see its not
> a 'random' choice.

Yes, will do, thanks!

--
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551